hi, da waren ein paar kleinere schnitzer drin, schliessende klammer fehlte an einer stelle, dann haste das form-tag 2 mal geöffnet,.... und es funktioniert aus meiner sicht auch nicht 2 funktionen auf onsubmit mit return abzufragen, ggf. gehts wenn du bei der zweiten funktion auch return checkForm(); schreibst, habe ich jetzt niocht ausprobiert. ich habe beide funktionen in eine geschrieben
hier der code korrigiert und angepasst:
und als persönliche empfehlung: wenn du nutzereingaben prüfst finde ich es nervig, wenn ich immer nur einen fehler angezeigt bekomme, den ich dann korrigiere und dann wird der nächste fehler angezeigt. besser finde ich, du gibst dem user ein umfassendes feedback, was alles falsch ist. könntest du hier z.b. durch ne variable lösewn, die du bei jedem fehler entsprechend erweiterst und dann gibste einfach die variable zurück und aus, alos so:Code:<html> <head>REGISTER</head> <script type="text/javascript"> function checkit() { if (document.Formular.Passwort1.value == "" || document.Formular.Passwort2.value == "") { alert ("Sie haben nicht alle Passwortfelder ausgefüllt!"); } if (document.Formular.Passwort1.value != document.Formular.Passwort2.value){ alert("Die Passwörter stimmen NICHT überein"); } if (document.Formular.User.value == "") { alert("Bitte Ihren Usernamen eingeben!"); document.Formular.User.focus(); return false; } if (document.Formular.Passwort.value == "") { alert("Bitte Ihr Passwort eingeben"); document.Formular.Passwort1.focus(); return false; } if (document.Formular.Mail.value == "") { alert("Bitte Ihre E-Mail-Adresse eingeben!"); document.Formular.Mail.focus(); return false; } if (document.Formular.Mail.value.indexOf("@") == -1) { alert("Keine gültige E-Mail-Adresse!"); document.Formular.Mail.focus(); return false; } } </script> <body> <form action="#" method="post" name="Formular" onsubmit="return checkit();"> Benutzername: <input type="text" name="User" value="" > <br /> Passwort: <input type="password" name="Passwort1" value="" > <br /> Passwort wiederholen: <input type="password" name="Passwort2" value="" > <br /> Email:<input type="text" name="Mail" value="" > <br /> <input type="submit" name="submit" value="registrieren"> <br /> <font color="#ff0000">Bereits Mitglied? Dann bitte <a href="/index.php">hier</a> einloggen! </font> </form> </body> </html>
Code:function checkit() { _str = ''; fehler = 0; if (document.Formular.Passwort1.value == "" || document.Formular.Passwort2.value == "") { _str += "Sie haben nicht alle Passwortfelder ausgefüllt!\n"; fehler++; } if (document.Formular.Passwort1.value != document.Formular.Passwort2.value){ _str += "Die Passwörter stimmen NICHT überein\n"; fehler++; } ... (fehler > 0) ? alert(_str) : null; return (fehler > 0) ? false : true; }
Ergebnis 1 bis 3 von 3
- 02.04.2011, 23:58 #1Stechapfel
Themenstarter
- Registriert
- 11.2008
- Ort
- Osnabrück
- Beiträge
- 161
Register (Einfach) Mein Problem: Die Email wird nicht gecheckt.Code:<script language="JavaScript" type="text/javascript"> function checkit() { if (document.Formular.Passwort1.value == "" || document.Formular.Passwort2.value == "") { alert ("Sie haben nicht alle Passwortfelder ausgefüllt!"); } if (document.Formular.Passwort1.value != document.Formular.Passwort2.value){ alert("Die Passwörter stimmen NICHT überein"); } } </script> <script type="text/javascript"> function chkFormular () { if (document.Formular.User.value == "") { alert("Bitte Ihren Usernamen eingeben!"); document.Formular.User.focus(); return false; } if (document.Formular.Passwort.value == "") { alert("Bitte Ihr Passwort eingeben"); document.Formular.Passwort1.focus(); return false; } if (document.Formular.Mail.value == "") { alert("Bitte Ihre E-Mail-Adresse eingeben!"); document.Formular.Mail.focus(); return false; } if (document.Formular.Mail.value.indexOf("@") == -1) { alert("Keine gültige E-Mail-Adresse!"); document.Formular.Mail.focus(); return false; } </script> <html> <head>REGISTER</head> <body> <form name="Formular"> <form action="register.php" method="post" onsubmit="return checkit();chkFormular()"> Benutzername: <input type="text" name="User" value="" > <br /> Passwort: <input type="password" name="Passwort1" value="" > <br /> Passwort wiederholen: <input type="password" name="Passwort2" value="" > <br /> Email:<input type="text" name="Mail" value="" > <br /> <input type="submit" name="submit" value="registrieren" onclick="return checkit();chkFormular()"> <br /> <font color="#ff0000">Bereits Mitglied? Dann bitte <a href="/index.php">hier</a> einloggen! </font> </form> </body> </html>
! iPhone 3G [S] 32 GB in schwarz
- 03.04.2011, 07:30 #2
Geändert von hillepille (03.04.2011 um 08:18 Uhr)
MacBook Pro 15'' i7 2.2 GHz | MacBook Air 1.6 GHz | iPhone 4S |new iPad 3G | Mac Mini 2.4 GHz
- 03.04.2011, 09:49 #3Stechapfel
Themenstarter
- Registriert
- 11.2008
- Ort
- Osnabrück
- Beiträge
- 161
Danke schön
werde versuchen deine Vorschläge umzusetzen ! iPhone 3G [S] 32 GB in schwarz


Zitieren