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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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