30. november 2003 - 20:05Der er
35 kommentarer og 1 løsning
Problem med validering af form
Den følgende side validere godt nok mine to felter når jeg trykker "opret indlæg" men når jeg så trykker ok i popup meddelelsen så opretter den posten i databasen Hvis jeg trykker ok i popup meddelelsen skal jeg jo have mulighed for at rette det indtastede, hvad skal jeg gøre???
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <% if Session("login") <> "loged_in" then Response.Redirect("login.asp") %> <% Set Conn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/db/login.mdb") %> <% SQL = "SELECT * FROM tblmedlemmer WHERE licensnr = " & Session("licensnr") Set rs = Conn.Execute(SQL) %> <% If Request("Submit") <> "" Then %> <% Set database = Server.CreateObject ("ADODB.Connection") database.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/db/debatforum.mdb") %> <% Set indlaeg = Server.CreateObject("ADODB.Recordset") indlaeg.Open "SELECT * FROM debat", database, 2, 2
Du skal i stedet for at benytte en submit knap benytte en sædvanlig knap, som aktiverer en funktion, som validerer din form. Hvis det går godt afgiver søger du for at få submitted-formen. Din valideringsfunktion kunne se således ud: function valider () { if ( form1.kommentar.value.length > 0 ) { } else { alert ("Feltet kommentar skal udfyldes."); form1.att.focus(); return false; };
if ( form1.overskrift.value.length > 0 ) { } else { alert ("Feltet overskrift skal udfyldes."); form1.att.focus(); return false; };
form1.submit(); }; Din form skal så se således ud <form action="opret.asp" method="post" name="form1" >
men hvad skal jeg så skrive ved knappen??? <input name="Button" type="button" class="knap" value="Opret indlæg" onClick="return valider(this);">">
Det første i funktionen valider() Du skal nok alle steder, hvor der står form1.att.focus() skrive document.form1.focus(), og tilsvarende skal form1.submit()ændres til document.form1.submit.
ja så er vi ved at være på rette vej men når jeg så udelukkende indsætter en tekst i kommentar og ikke i overskrift oprette den også en post, den skal jo kun oprette en post hvis begge felter er valideret
if request.form("kommentar") <> "" and request.form("overskrift") <> "" then
Men når jeg så skriver det ene felt ind og trykker submit så skriver den godt nok at jeg ikke har udfyldt den anden, men når jeg så trykker ok sletter den hele indholdet af formen, kan det man har skrevet ikke blive stående????
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.