Avatar billede kroger Nybegynder
08. januar 2004 - 20:07 Der er 9 kommentarer og
1 løsning

space smadre formdata

Jeg er ude for noget meget sært. Jeg har en side med en form med bl.a. et textarea felt. dette bliver sendt til siden igen får validering. Hvis der f.eks. er et felt der mangler, bliver man sendt tilbage med en fejlmelding. For at kunne holde på de allerede indtastede data, gøres det på følgende måde:

If Request.Form("tekst") = "" Then
response.write "<form name=form1 id=form1 method=post action=opret.asp?error=Du%20skal%20angive%20en%20beskrivelse!>"
response.write "<input type=hidden name=titel value=" & Request.Form("titel") & ">"
response.write "<input type=hidden name=fornavn value=" & Request.Form("fornavn") & ">"
Response.Write "<input type=hidden name=efternavn value=" & Request.Form("efternavn") & ">"
response.write "<input type=hidden name=aarstal value=" & Request.Form("aarstal") & ">"
response.write "<input type=hidden name=vises value=" & Request.Form("vises") & ">"
Response.Write "<input type=hidden name=tekst value=" & Request.Form("tekst") & ">"
response.write "</form>"
response.write "<script language=javascript>" & vbcrlf
response.write "document.form1.submit();"& vbcrlf
response.write "</script>"& vbcrlf
End If

Mit problem er at hvis det der indtastes i textarea feltet (tekst) indeholder et mellemrum, forsvinder det og alt andet bagefter i det felt, når det bliver sendt retur. Hvis jeg hiver det frem på siden hvor valideringen foregår, er det hele der.

Håber det var til at fatte. Nogle gode ideer ?
Avatar billede netro Nybegynder
08. januar 2004 - 20:09 #1
Den fangede jeg ikke. Måske en anden gjorde, eller du har lyst til at uddybe.
Avatar billede kroger Nybegynder
08. januar 2004 - 20:14 #2
hehe, er også lidt åndsvagt at beskrive :)
Altså jeg har en side med en form, her i forkortet udgave:

<form action="opret.asp?mode=check" method="post">
<textarea name="tekst" rows="8" cols="46"><%=request.form("tekst")%></TEXTAREA>
</form>

Det felt bliver tjekket om det indeholder noget, hvis ikke bliver det sendt tilbage (kode i første indlæg). Når det så kommer tilbage, vil "dette er en test" blive til "dette" mens f.eks. "dette<br>test" indholde det hele. På validreingssiden, indeholder den dog det hele, d.v.s. skriver jeg det ud på valideringssiden bliver "dette er en test" til "dette er en test".

Håber det var bedre forklaret
Avatar billede erikjacobsen Ekspert
08. januar 2004 - 20:14 #3
Du skal huske dine stroffer:

response.write "<input type=hidden name=vises value=""" & Request.Form("vises") & """>"

tilsvarende de andre steder
Avatar billede kroger Nybegynder
08. januar 2004 - 20:22 #4
Det er sq da utrolig erik. Det virkede. Troede eller at html var nærmest ligeglad, men det kan jeg se det ikke er (og ved egentlig godt hvorfor). Tak for hjælpen og smid et svar :)
Avatar billede kroger Nybegynder
08. januar 2004 - 20:23 #5
Første det skulle have været du....
Avatar billede erikjacobsen Ekspert
08. januar 2004 - 20:27 #6
Nej, HTML er ikke ligeglad. Med tekststrengen "peter er en stor dreng"
ville der før komme til at stå

  <input ... value=peter er en stor dreng>

hvor html tror at "er" "en" osv er attributter. Med stroffer bliver det

  <input ... value="peter er en stor dreng">

som du må indrømme ser meget bedre ud. ;)

Nej, tak, 60p er alt for meget for så lidt - du er velkommen til at beholde dem.
Avatar billede kroger Nybegynder
08. januar 2004 - 20:29 #7
Er fuldt enig, plejer også at bruge ' , men var lidt doven her. Nå, men så må jeg dog heller sige tak for pointene :)
Avatar billede erikjacobsen Ekspert
08. januar 2004 - 20:43 #8
Nu vi er i gang kan du lære det sidste "trick", for du kan nok regne ud,
at hvis din tekst indeholder en " får du også problemer. Derfor kan og
bør du altid

response.write "<input type=hidden name=vises value=""" & Server.HTMLencode(Request.Form("vises")) & """>"

for det vil netop løse det problem!
Avatar billede kroger Nybegynder
08. januar 2004 - 20:50 #9
Kender den godt, men tak for tippet. Der sker også validering til højre og venstre, så den slags er der taget højde for (den kode jeg submittede var en test model, request.from er skiftet ud med en variabel, der er valideret)
Avatar billede kroger Nybegynder
08. januar 2004 - 20:50 #10
request.form selvfølgelig
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester