Jeg kan som sådan godt lave preview funktionen. Men der hvor jeg løber ind i et problem, er når jeg skal have lavet både en "preview" og en "send" knap, fo samme form.
Hvad skriver den så, når du klikker på "Gem"? Og hvad med "Preview"?
Synes godt om
Slettet bruger
16. november 2006 - 20:30#4
tjae... OK!
Mener du at du vil have det sådan din preview vises i et nyt vindue? I så fald har jeg her et eksempel: -----------Din form-side------------ <form id="form1" action="send.asp" target="_self" method="post"> <input type="text" name="text" size="20"> <br> <input type="button" name="preview" value="Preview" onclick="this.form.target='_blank'; this.form.action='preview.asp'; this.form.submit();"> <input type="button" name="send" value="Send" onclick="this.form.target='_self'; this.form.action='send.asp'; this.form.submit();"> </form>
-------------Din preview-side <%=request.form("text")%> - og så ellers med det design der skal være...
--------------Din send-side----------- <%=request.form("text")%> - og så ellers med din asp-kode som skal gemme indholdet... ---------------- \Dan
Der sker ikek noget. Ikke andet i end at der kommer til at stå "test.asp?navn=Hans+Hansen&preview=preview" i url'en hvis jeg trykker på preview, og "test.asp?navn=Hans+Hansen&gem=Gem" hvis jeg trykker "gem"
Koden jeg bruger ser således ud:
test.asp: <html> <head> </head>
<body> <% if request.servervariables("request_method") = "POST" then
response.write "<hr>"
for each item in request.form response.write item & ": " & request.form(item) next
response.write "<hr>"
response.end ' afslut udskrivning/afvikling end if %>
"test.asp?navn=Hans+Hansen&preview=preview" i url'en hvis jeg trykker på preview, og "test.asp?navn=Hans+Hansen&gem=Gem" hvis jeg trykker "gem"
Som du kan se, kommer der til at stå "gem=gem" og "preview=preview"
Derfor:
<% if request.servervariables("request_method") = "POST" then
response.write "<hr>"
for each item in request.form ' response.write item & ": " & request.form(item) if LCase(item) = "gem" then response.write "AHa... du valgte at gemme det, uden at se det først.." if LCase(item) = "preview" then response.write "AHa... du valgte at se et preview, inden du gemmer det.." next
response.write "<hr>"
response.end ' afslut udskrivning/afvikling end if %>
<% if request.servervariables("request_method") = "POST" then
response.write "<hr>"
dim overskrift, tekst dim vispreview vispreview = false
for each item in request.form ' smid værdierne i variabler: if LCase(item) = "overskrift" then overskrift = request.form(item) if LCase(item) = "tekst" then overskrift = request.form(tekst)
' response.write item & ": " & request.form(item) if LCase(item) = "preview" then vispreview = true next
if vispreview = true then response.write "Overskriften: " & overskrift & "<br>" response.write "Teksten: " & tekst else ' sql kald der gemmer værdierne i databsen (erstat 1x '-tegn med 2x '-tegn): overskrift = replace(overskrift, "'", "''") tekst = replace(tekst, "'", "''") sql = "insert into TabelNavn overskrift, tekst values('" & overskrift & "','" & tekst & "')" ' fyr sql'en afsted ' giv brugeren besked: response.write "Disse oplysninger er nu gemt:<br><br>Overskrift:<br>" & overskrift & "<br><br>Tekst:<br>" & tekst end if
response.write "<hr>"
response.end ' afslut udskrivning/afvikling ----------- denne kan fjernes end if %>
<form name="frm" action="test.asp" method="post"> <input type="text" name="overskrift" value="Dette er overskriften"> <br> <input type="text" name="teksten" value="Dette er teksten.. normalt bruger man textarea.."> <br> <input type="submit" name="gem" value="Gem"><br> <input type="submit" name="preview" value="preview"> </form>
Det skal lige siges, at koden ikke er testet.. der kan være små fejl..
Det behøves ikke, jeg tror jeg har fået det til at virke, efter jeg rettede i koden som du skrev "20:56:31"
Den ser nu således ud:
test.asp:
<html> <head> </head>
<body> <% if request.servervariables("request_method") = "POST" then
response.write "<hr>"
for each item in request.form ' response.write item & ": " & request.form(item) if LCase(item) = "gem" then response.write "AHa... du valgte at gemme det, uden at se det først.." if LCase(item) = "preview" then response.write "" & request.form("navn") & "" next
response.write "<hr>"
response.end ' afslut udskrivning/afvikling end if %>
Jeg har allerede fundet en fejl.. her er rettelsen..:
for each item in request.form ' smid værdierne i variabler: if LCase(item) = "overskrift" then overskrift = request.form(item) if LCase(item) = "tekst" then overskrift = request.form(item)
' response.write item & ": " & request.form(item) if LCase(item) = "preview" then vispreview = true next
Du kan prøve at tilføje target="_blank" til dit form-tag..
<% if request.servervariables("request_method") = "POST" then
response.write "<hr>"
dim overskrift, tekst dim vispreview vispreview = false
for each item in request.form ' smid værdierne i variabler: if LCase(item) = "overskrift" then overskrift = request.form(item) if LCase(item) = "tekst" then teksten = request.form(item)
' response.write item & ": " & request.form(item) if LCase(item) = "preview" then vispreview = true next
if vispreview = true then response.write "Overskriften: " & overskrift & "<br>" response.write "Teksten: " & tekst else ' sql kald der gemmer værdierne i databsen (erstat 1x '-tegn med 2x '-tegn): overskrift = replace(overskrift, "'", "''") tekst = replace(tekst, "'", "''") sql = "insert into TabelNavn overskrift, tekst values('" & overskrift & "','" & tekst & "')" ' fyr sql'en afsted ' giv brugeren besked: response.write "Disse oplysninger er nu gemt:<br><br>Overskrift:<br>" & overskrift & "<br><br>Tekst:<br>" & tekst end if
response.write "<hr>"
response.end ' afslut udskrivning/afvikling ----------- denne kan fjernes end if %>
altså, det der mangler er at den tekst der står i text feltet "teksten" ikke bliver fremvist.
Trykker jeg preview kommer der kun til at stå dette:
---------------------------- Overskriften: Dette er overskriften Teksten: ----------------------------
Her er koden.
<html> <head> </head>
<body> <% if request.servervariables("request_method") = "POST" then
response.write "<hr>"
dim overskrift, tekst dim vispreview vispreview = false
for each item in request.form ' smid værdierne i variabler: if LCase(item) = "overskrift" then overskrift = request.form(item) if LCase(item) = "tekst" then teksten = request.form(item)
' response.write item & ": " & request.form(item) if LCase(item) = "preview" then vispreview = true next
if vispreview = true then response.write "Overskriften: " & overskrift & "<br>" response.write "Teksten: " & tekst else ' sql kald der gemmer værdierne i databsen (erstat 1x '-tegn med 2x '-tegn): overskrift = replace(overskrift, "'", "''") tekst = replace(tekst, "'", "''") sql = "insert into TabelNavn overskrift, tekst values('" & overskrift & "','" & tekst & "')" ' fyr sql'en afsted ' giv brugeren besked: response.write "Disse oplysninger er nu gemt:<br><br>Overskrift:<br>" & overskrift & "<br><br>Tekst:<br>" & tekst end if
response.write "<hr>"
response.end ' afslut udskrivning/afvikling ----------- denne kan fjernes end if %>
<form name="frm" action="test.asp" method="post" target="_blank"> <input type="text" name="overskrift" value="Dette er overskriften"> <br> <input type="text" name="teksten" value="Dette er teksten.. normalt bruger man textarea.."> <br> <input type="submit" name="gem" value="Gem"><br> <input type="submit" name="preview" value="preview"> </form>
dannielsen> Det er generelt en dårlig ide, at lave et (helt/delvis) system, der baserer sig på en teknologi, der kan forårsage sikkerhedsbrister.
Jo mere dynamisk og højtteknologisk man kan lave en side, jo større er chancen for at en ondsindet person kan lave en side, der "hacker" din computer.
Derfor: Brug så lidt JavaScript som muligt, og brug det kun hvis det kan gøre "tingene nemmere" for brugeren.. Med andre ord: JavaScript må *ikke* erstatte den normale funktionalitet. JavaScript må kun forbedre den.
Synes godt om
Slettet bruger
18. november 2006 - 18:40#27
thesurfer>> Det er vi fuldstændigt enige om at man skal begrænse Java-scripts så meget som overhovedet muligt, i sin web-programmering - netop af sikkerhedsmæssige årsager.
- Men i dette her tilfælde er det jo bare i mine øjne ret umuligt at undgå Java-script - og så vidt jeg husker så indser du også selv dette her i denne tråd.
- Men i det eksempel jeg lavede mener jeg faktisk at jeg forsøgte på at begrænse Java-script så meget som muligt...
Normalt er det sådan, at selve preview'et loades i samme vindue.. Dvs, der popper ikke op i et nyt vindue..
Det er ikke særligt krævende at bruge JavaScript..
Man må selv overveje, om hvor vigtigt det er at preview'et vises i et popup-vindue..
Man kunne lave det sådan her:
Man kunn jo bruge action="preview.asp", til dem der ikke bruger JavaScript, og onclick="..." til dem er brugte JavaScript..
Jeg ville nu foretrække selv at kunne vælge, om det skal vises i samme vindue, eller i et popup-vindue..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.