• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Eine überwältigende Zahl von Einsendungen wartet nun auf Euch, um begutachtet zu werden! Schaut selbst, welche Blüten das Thema hervorgebracht hat und stimmt dann ab, was davon Euch am besten gefällt. Hier geht es lang zur Abstimmung --> Klick

[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. :( !
 

hillepille

Melrose
Registriert
19.07.09
Beiträge
2.508
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:

Lieblie

Kaiser Wilhelm
Registriert
17.11.08
Beiträge
176
Danke schön :) werde versuchen deine Vorschläge umzusetzen !