McNavc: Formularüberprüfung

Beitrag lesen

Morjen !

Hab da gestern wohl nicht ganz mitbekommen was du willst :(

Natürlich ist der onBlur Event die Lösung (siehe posting von Cheatah)

Hier eine Möglichkeit:

<html>
<head>
<title>test</title>

<script language="JavaScript">
<!--
var test=0;
function check(feld)
{
if((document.forms[0].elements[feld].value == "") && (test == feld))
 {
 test=feld;
 alert("Bitte Feld " + feld + " ausfuellen!");
 document.forms[0].elements[feld].focus();
 return false;
 }
}
//-->
</script>

<body>
<form action="" methode=post>
<input type="text" name="NameA" size="60" onBlur = "check(0)">
<input type="text" name="NameB" size="60" onBlur = "check(1)">
</form>
</body></html>

(kurz angetestet und ok)

Das seltsame Konstrukt mit der Variable 'test' sollte ich vielleicht kurz erläutern:
onBlur meldet zwar das Verlassen des Feldes (sonst würde ja die Funktion nicht starten ;-)), bricht aber das Ereignis (Wechseln zum nächsten Feld) _nicht_ ab. Wenn die Funktion jetzt den Fokus wieder an das nicht ausgefüllte Feld gibt, hat aber bereits das nächste Feld den Fokus -> onBlur (Verlassen) tritt ein, die Funktion wird erneut aufgerufe, stellt fest das das nächste Feld leer ist, setzt den Fokus ...... eine wunderschöne Endlosschleife -> Affengriff - getestet :)

Möglicherweise gibts eine elegantere Art dieses Problem in den Griff zu bekommen, aber als quick'n'dirty sollte es durchgehen

MfG McNavc