• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

[Javascript] Register (Einfach)

Lieblie

Kaiser Wilhelm
Registriert
17.11.08
Beiträge
176
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>

Mein Problem: Die Email wird nicht gecheckt. :( !
 
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:

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>
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:
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;
}
 
Zuletzt bearbeitet:
Danke schön :) werde versuchen deine Vorschläge umzusetzen !