Hallo,
Ich hoffe, ihr könnt mir bei einem Problem mit meinem Formular helfen:
Es handelt sich um einen ziemlich langen Datenbogen, der hinterher beim Abschicken überprüft und dann in eine Datei auf dem Server geschrieben wird. Man muss an zwei Stellen ein Datum eingeben, in jeweils drei Eingabefelder, (TT),(MM),(JJJJ), die jeweils nur zwei bzw. vier Zeichen akzeptieren.
Wie kriege ich es hin, dass der Cursor nur bei den Datumsfeldern nach der Eingabe von zwei Zeichen (TT) automatisch ins nächste Feld (MM) springt usw., ohne dass man die Tabulator-Taste benutzen muss?
Fange in den Eingabefeldern das Ereignis KeyUp ab (onkeyup) und starte dort eine Funktion, die prüft, ob entsprechend viele Stellen existieren. Hier könntest Du sogar noch prüfen, ob der bisher eingegebene Wert noch sinnvoll für Tag, Monat, bzw. Jahr ist.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>DatumsFormular</title>
<script type="text/javascript">
<!--
function weiter(ff) {
if (ff.name=="Tag") {
if (ff.value.length == 2) ff.form.elements["Monat"].focus();
} else if (ff.name=="Monat") {
if (ff.value.length == 2) ff.form.elements["Jahr"].focus();
} else if (ff.name=="Jahr") {
if (ff.value.length == 4) ff.form.elements["OK"].focus();
}
}
//-->
</script>
</head>
<body>
<form action="#" method="POST">
<p><input type="Text" name="Tag" value="" size="2" maxlength="2" onkeyup="weiter(this);">
<input type="Text" name="Monat" value="" size="2" maxlength="2" onkeyup="weiter(this);">
<input type="Text" name="Jahr" value="" size="4" maxlength="4" onkeyup="weiter(this);">
<input type="Submit" name="OK" value="OK"></p>
</form>
</body>
</html>
viele Grüße
Axel