13. november 2003 - 03:02
Der er
7 kommentarer og 1 løsning
Valideringsproblem i html-formular
Halløj :) Jeg har nu siddet og stirret på koden nedenfor i et godt stykke tid, og jeg kan ikke gennemskue, hvorfor felterne (NB! ikke alle felter) ikke bliver kontrolleret, når der trykkes på "Send" i formularen... Adressen på formmail-script, modtager-/afsender-adresse osv. kendes naturligvis af mig ;) Et hurtigt og fyldestgørende svar til en uerfaren programmør modtages med stor, stor taknemmelighed! Pointsummen sætter jeg til 60 af den simple grund, at det haster :) KODE: ********** <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>|| Online Registrering ||</title> <script language="javascript"> function valider() { {felt1 = document.form.felt1.value; if (felt1.length < 5) {alert("Fejl i felt 1!"); document.form.felt1.focus(); window.event.returnValue = false; return false;} } {felt2 = document.form.felt2.value; if (felt2.length < 5) {alert("Fejl i felt 2!"); document.form.felt2.focus(); window.event.returnValue = false; return false;} } {felt4 = document.form.felt4.value; if (felt4.length < 4) {alert("Fejl i felt 4!"); document.form.felt4.focus(); window.event.returnValue = false; return false;} } {felt5 = document.form.felt5.value; if (felt5.length < 2) {alert("Fejl i felt 5!"); document.form.felt5.focus(); window.event.returnValue = false; return false;} } {felt6 = document.form.felt6.value; if (felt6.length < 8) {alert("Fejl i felt 6!"); document.form.felt6.focus(); window.event.returnValue = false; return false;} } {felt8 = document.form.felt8.value; if (felt8.length < 8) {alert("Fejl i felt 8!"); document.form.felt8.focus(); window.event.returnValue = false; return false;} } } </script> </head> <body style="font-family: verdana, helvetica, sans-serif; font-size: 8pt;"> <h3>Online Registrering (udkast)</h3> <h5 style="color:red;">Felter med * skal udfyldes!</h5> <form action="..." method="post" onsubmit="valider();"> <input type="hidden" name="recipient" value="modtager@domæne.dk"> <input type="hidden" name="fromaddress" value="afsender@domæne.dk"> <input type="hidden" name="subject" value="online-registrering"> <input type="hidden" name="redirect" value="..."> <input type="hidden" name="orderby" value="felt1,felt2,felt3,felt4,felt5,felt6,felt7,felt8"> Felt 1 :<br> <input type="text" name="felt1" size="30"><font color="red">*</font><br><br> Felt 2 :<br> <input type="text" name="felt2" size="30"><font color="red">*</font><br><br> Felt 3 :<br> <input type="text" name="felt3" size="20"><br><br> Felt 4 :<br> <input type="text" name="felt4" maxlength="4" size="4"><font color="red">*</font><br><br> Felt 5 :<br> <input type="text" name="felt5" size="20"><font color="red">*</font><br><br> Felt 6 :<br> <input type="text" name="felt6" maxlength="8" size="8"><font color="red">*</font>(ingen mellemrum)<br><br> Felt 7 :<br> <input type="text" name="felt7" size="30"><br><br> Kørekortnummer :<br> <input type="text" name="felt8" maxlength="8" size="8"><font color="red">*</font>(ingen mellemrum)<br><br> <br><br> <input type="submit" value="Send" name="submit" style="font-family: verdana, helvetica, sans-serif; font-size: 8pt;"> <input type="reset" value="Reset" style="font-family: verdana, helvetica, sans-serif; font-size: 8pt;"> </form> </body> </html> **********
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
13. november 2003 - 03:11
#1
Tilføjelse: Istedet for "Kørekortnummer" skal der - i dette testtilfælde - naturligvis stå "Felt 8" på den pågældende linie. Min fejl ;) - Det er sq sent på natten...
13. november 2003 - 09:24
#2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>|| Online Registrering ||</title> <script language="javascript"> function valider() { {felt1 = document.forms[0].felt1.value; if (felt1.length < 5) {alert("Fejl i felt 1!"); document.form.felt1.focus(); window.event.returnValue = false; return false;} } {felt2 = document.forms[0].felt2.value; if (felt2.length < 5) {alert("Fejl i felt 2!"); document.form.felt2.focus(); window.event.returnValue = false; return false;} } {felt4 = document.forms[0].felt4.value; if (felt4.length < 4) {alert("Fejl i felt 4!"); document.form.felt4.focus(); window.event.returnValue = false; return false;} } {felt5 = document.forms[0].felt5.value; if (felt5.length < 2) {alert("Fejl i felt 5!"); document.form.felt5.focus(); window.event.returnValue = false; return false;} } {felt6 = document.forms[0].felt6.value; if (felt6.length < 8) {alert("Fejl i felt 6!"); document.form.felt6.focus(); window.event.returnValue = false; return false;} } {felt8 = document.forms[0].felt8.value; if (felt8.length < 8) {alert("Fejl i felt 8!"); document.form.felt8.focus(); window.event.returnValue = false; return false;} } document.forms[0].submit(); } </script> </head> <body style="font-family: verdana, helvetica, sans-serif; font-size: 8pt;"> <h3>Online Registrering (udkast)</h3> <h5 style="color:red;">Felter med * skal udfyldes!</h5> <form action="..." method="post" > <input type="hidden" name="recipient" value="modtager@domæne.dk"> <input type="hidden" name="fromaddress" value="afsender@domæne.dk"> <input type="hidden" name="subject" value="online-registrering"> <input type="hidden" name="redirect" value="..."> <input type="hidden" name="orderby" value="felt1,felt2,felt3,felt4,felt5,felt6,felt7,felt8"> Felt 1 :<br> <input type="text" name="felt1" size="30"><font color="red">*</font><br><br> Felt 2 :<br> <input type="text" name="felt2" size="30"><font color="red">*</font><br><br> Felt 3 :<br> <input type="text" name="felt3" size="20"><br><br> Felt 4 :<br> <input type="text" name="felt4" maxlength="4" size="4"><font color="red">*</font><br><br> Felt 5 :<br> <input type="text" name="felt5" size="20"><font color="red">*</font><br><br> Felt 6 :<br> <input type="text" name="felt6" maxlength="8" size="8"><font color="red">*</font>(ingen mellemrum)<br><br> Felt 7 :<br> <input type="text" name="felt7" size="30"><br><br> Kørekortnummer :<br> <input type="text" name="felt8" maxlength="8" size="8"><font color="red">*</font>(ingen mellemrum)<br><br> <br><br> <input type="button" value="Send" name="submit" style="font-family: verdana, helvetica, sans-serif; font-size: 8pt;" onclick="valider()"> <input type="reset" value="Reset" style="font-family: verdana, helvetica, sans-serif; font-size: 8pt;"> </form> </body> </html>
13. november 2003 - 09:25
#3
for at få værdien af et felt skal du skrive fx. document.forms[0].felt8.value
13. november 2003 - 22:36
#4
@ casper : Jeg har nu tilføjet dine kommentarer ("...forms[0]...") i det egentlige html-dokument, men valideringen sker stadig ikke..? Altså, oplysningerne bliver alligevel sendt afsted fra formularen til modtager-adressen. Er der ikke en knag derude bag skærmene, der lige kan få det hele til at gå op i en højere enhed for mig? :)
14. november 2003 - 01:16
#5
Jeg har netop afprøvet casper's input (copy and paste) og valideringen virker helt perfekt hos mig! mvh Macho
14. november 2003 - 01:30
#6
@ macho : Touché, du har så ganske ret ;) Jeg lavede en lille bøf, som afstedkom, at det ikke virkede i første omgang. Så mangler vi blot, at casper melder sig her med et "svar", så han kan få sine point :) Mange tak herfra til jer begge ;)
14. november 2003 - 08:37
#7
og her er svaret :)
14. november 2003 - 08:44
#8
...tak for hjælpen ;)
Vi tilbyder markedets bedste kurser inden for webudvikling