15. juni 2004 - 08:45
Der er
13 kommentarer og 1 løsning
Tjekke på form input?
Hej Jeg har en lille form, der kalder en ASP fil og så skriver ind i databasen! Problemet er bare, at hvis man skriver forkert data eller lign, kommer der en grim fejlside op.. kan man på nogen måde få en lille boks til at poppe op, hvis man f.eks. skriver et for kort cprnummer eller lign. I har vel forstået hva jeg mener :D
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?
Du kan validerer dine felter først, inden du tillader at formen submittes. Simpelt eks: function validate(form) { if (form.cprNr.value.length != 8) { alert('Du skal skrive 8 karaktérer.'); return false; } else { return true; } } <form onsubmit="return validate(this);"> ... </form>
... og så er der jo også 10 karaktérer i et cpr - ikke 8 som jeg skriver :)
det er vel ASP kode det der? Min form ligger jo i en html fil :)
Det er javascript det dér :=) Klient side only. <script type="text/Javascript"> function validate(form) { if (form.cprNr.value.length != 8) { alert('Du skal skrive 8 karaktérer.'); return false; } else { return true; } } </script> og <form onsubmit="return validate(this);"> ... </form> That's all there is too it..bortset fra du sikkert vil ha valideret flere felter, også måske også mere "stramt".
<html> <head> <title>Indtast elev</title> <script type="text/Javascript"> function validate(form) { if (form.cprNr.value.length != 10) { alert('Du skal skrive 10 karaktérer.'); return false; } else { return true; } } </script> </head> <body> <form onsubmit="return validate(this);" method="post" action="side.asp"> <table> <tr> <td><h4>CPR-nummer (I formatet 1234567890)</h4> <input type="text" name="cprNr"><br> <input type="submit"></td> </tr> </table> </form> </body> </html> Du skal være opmærksom på at feltnavnet vi tjekker, skal mactche feltnavnet i javascripten. Desuden ingen dobbelte form tags, brudte tabeller etc. :)
oho.. det ser fancy ud! jeg prøver det hurtigst muligt (dvs om 20 min ca) pausen skal jo passes ;)
Har du ikke prøvet mit eksempel?
15. juni 2004 - 10:22
#10
Du skal kun have én form - du åbner en for for hvert felt.
15. juni 2004 - 10:26
#11
<html> <head> <title>Indtast elev</title> <script type="text/Javascript"> function validate(form) { if (form.cprnummer.value.length != 10) { alert('Du skal skrive 10 karaktérer.'); form.cprnummer.focus(); return false; } if (form.fornavn.value == "") { alert('Du skal udfyldet fornavn'); form.fornavn.focus(); return false; } // osv. til alle dine felter er valideret else { // til sidst kører du en return true; return true; } } </script> </head> <body> <form onsubmit="return validate(this);" method="post" action="elev.asp"> <table> <tr> <td> <br> <h4>CPR-nummer (I formatet 1234567890)</h4> <input type="text" name="cprnummer"> <td> <td> <br> <h4>Fornavn</h4> <input type="text" name="fornavn"> <td> </tr> <tr> <td> <br> <h4>Mellemnavn (Kan udelades)</h4> <input type="text" name="mellemnavn"> <td> <td> <br> <h4>Efternavn</h4> <input type="text" name="efternavn"> <td> </tr> <tr> <td> <br> <h4>Gadenavn</h4> <input type="text" name="gade"> <td> <td> <br> <h4>Husnummer</h4> <input type="text" name="husnummer"> <td> </tr> <tr> <td> <br> <h4>Postnummer</h4> <input type="text" name="postnummer"> <td> <td> <br> <h4>Bynavn</h4> <input type="text" name="bynavn"> <td> </tr> <tr> <td> <br> <h4>Telefonnummer</h4> <input type="text" name="telefon"> <td> <td> <br> <h4>Mobiltelefonnummer</h4> <input type="text" name="mobiltelefon"> <td> </tr> <tr> <td> <br> <h4>Email (kan udelades)</h4> <input type="text" name="email"> <td> <td> <br> <h4>Blok</h4> <input type="text" name="blok"> <td> </tr> </table> <br> <input type="submit" value="Gem elev"> </form> </body> </html> Btw. - Husk at lukke dine <td> med </td>.
15. juni 2004 - 10:33
#12
Okay, nu popper den da op, hvis CPR nummer er under 10 :) Men den overfører ingen værdi til ASP filen.. det gjorde den før, der kom alt det her på! :/
15. juni 2004 - 10:35
#13
Nu virker det <h4>CPR-nummer (I formatet 1234567890)</h4> <input type="text" name="cprnummer"> <td> Den skal hedde name="cpr-nummer"> :) Jeg takker mange gange for hjælpen! Smider du lige et svar? =)
15. juni 2004 - 10:37
#14
Jeps :)
Vi tilbyder markedets bedste kurser inden for webudvikling