Moin!
In deinem Script sind gleich mehrere Fehler.
1. Dein Hauptproblem war, daß du bei der Überprüfung der Länge des eingegebenen Passwortes vergessen hast, daß "value" zu notiern. Du hast dmit nur die Länge des Input-Tag geprüft un der ist immer "undefined" und damit kleiner als 4 (weil überhaupt kein numerischer Wert).
2. Schönheitsfehler: das Einlesen der PW-Länge in eine eigene Variable ist überflüssig, da es genau 1x benötigt wird. Einfacher kann man die bereits eingelesene Variable "password1" auf ihre Länge überprüfen.
3. Eine zusätzliche Fehlerüberwachung mit "try" ist überflüssig, wenn man die Überprüfung generell erst beim Absenden des Formulars aufruft, siehe mein Beispiel.
4. ein einigermaßen sicheres Passwort sollte mindesten 6 Zeichen haben, besser 8-12.
4 Zeichen sind zu schnell zu knacken.
Im folgenden Beispiel gehe ich davon aus, daß du die Eingabe an ein PHP-Script übergibst. Ich weiß nicht wie dein PHP-Script heißt und habe es im Beispiel einfach einmal "useradmin.php" genannt, das mußt du ggf. noch anpassen.
Generell halte ich es übrigens für besser, die Überprüfung durch das aufzurufende PHP-Script zu machen und dann im Fehlerfall auf die Eingaberoutine zurück zu verweisen.
Quelltext:
<html>
<head>
<script type="text/javascript" language="JavaScript">
<!--
function passwordCheck()
{
var password1 = document.getElementById('password').value;
var password2 = document.getElementById('repeat').value;
if (password1!=password2)
{
alert('Die von ihnen angegebenen Passwörter sind nicht identisch');
document.getElementById('password').value="";
document.getElementById('repeat').value="";
document.getElementById('password').focus();
return false;
}
if (password1.length < 6)
{
alert('Das von ihnen angegebene Passwort ist zu kurz ( min. 6 Zeichen )');
document.getElementById('password').value="";
document.getElementById('repeat').value="";
document.getElementById('password').focus();
return false;
}
}
//-->
</script>
</head>
<body>
<form name="useradminForm" methode="post" action="useradmin.php" onSubmit="return passwordCheck()">
<input name="password" id="password" type="password"></input>
<input name="repeat" id="repeat" type="password"></input>
<input type="submit" value="Abschicken"></input>
</form>
</body>
</html>
Alles anzeigen
Gg.a.d.M.
Ronald
... der Javascript trotzdem haßt!