hallo zusammen ...
ich programmiere gerade eine js-abfrage fuer ein uebliches fomular.
die function switchItem() zeigt bei fehlerhafter eingabe ein kleines icon und einen fehlertext an. wenn ok, dann wird der fehlertext und das icon wieder ausgeblendet.
hier das script (in auszuegen) ...
<script language="JavaScript" type="text/javascript">
<!--
function checkForm() {
var ok = true;
if (checkText("vorname")) {
ok = false;
switchItem("vorname",1,1);
} else {
switchItem("vorname",0,0);
}
if (checkText("nachname")) {
ok = false;
switchItem("nachname",1,1);
} else {
switchItem("nachname",0,0);
}
// ...
if (!checkMail(searchFormObject("mail").value)) {
ok = false;
switchItem("mail",1,1);
} else {
switchItem("mail",0,0);
}
if (!ok)
return ok;
}
// -->
</script>
aufruf via <form action="ok.html" name="test" onSubmit="return checkForm();">
alles super! jetzt will ich gerne in ein fehlerhaftes feld den focus setzen.
if (checkText("vorname")) {
ok = false;
switchItem("vorname",1,1);
document.test.elements["vorname"].focus(); // da rein, muss ich noch optimieren, nix mit documentblabla ...
} else {
switchItem("vorname",0,0);
}
auch super, wenn ich die gleiche zeile in die naechste abfrage (also nachname, mail und so fort...) setze, springt der focus immer in die letzte eingabemoeglichkeit. was an sich auch logisch ist, aber nicht mein ziel ist. ich moechte ja den focus auf das erste feld setzen, dass fehlerhaft ist.
vielleicht hat jemand eine idee?!
danke im voraus fuer die hilfe.
gruss, timex.