dokument.Formular.Variable.focus()

Klangweberin

Grünschnabel
Normalerweise kann ich mich gut durch das JS kämpfen und bekomme es irgendwie hin. Aber bei dem Problem hab ich eine Denkblokade und trotz mehrstündiger Suche komme ich auf keine Lösung.
Im IE geht das Script ohne zu murren nur der Firefox zieht mir nen Strich durch die Rechnung und schickt mein Formular ab ohne dass die Fehler beseitigt werden konnten.

Ausgangspunkt ein langes Formular mit vielen Feldern.
Diese werden via onSubmit="return checkformular(); überprüft.
In dem Script gibt es eine Reihe von Prüfungen... zB Telefonnummer nur aus Zahlen, Pflichtfelder korrekt gefüllt..., keine HTML-Segmente verwendet, PLZ besteht aus 5 Zahlen... etc. Am Anfang stehen drei Variablen, die mir den Feldnamen, die Bezeichnung und die Fehlermeldung sagen. Diese werden in jeder Schleife geändert.
Am Ende wollte ich nun eine Schleife machen, die mir dann überprüft, ob ein Fehler vorliegt und dann einerseite ein alert ausgeben und andererseits das Feld fokusiert.

Aus dem Script:
function checkformular(){
var fehlerart="";
var fehlerort="";
var fehlername="";
if(document.formular.email.value == "" ){
fehlerort = "email";
fehlername = "E-Mail";
fehlerart = "Bitte geben Sie eine E-Mail ein";
}
....
if(fehlerort == "")
return true;
else {
alert("Sie haben einen Fehler in folgendem Feld: " + fehlername+"." + fehlerart);
document.formular(fehlerort).focus();
return false;
}

UND bei document.formular(fehlerort).focus(); liegt mein Problem. IE macht das Fokusieren ohne Probleme. Firefox gibt das alert aus und speichert das Formular trotzdem.

Vielen Dank schon mal für die Hilfe oder Hinweise. Ich bräuchte einfach nen Schubser, wie oder wo ich nachsehen könnte.
Wo ist mein Denkfehler?
 
Zuletzt bearbeitet:
Moin,

nicht alles was der IE macht, ist regulärer JS-Bestandteil :-)

So verstehen es alle Browser:
Code:
document.formular[fehlerort].focus();
 

Neue Beiträge

Zurück