Variabel auf HTML-Elementobjekte zugreifen

Hallo,
bin Anfänger in Javascript und habe ein Problem beim Zugriff auf HTML-Elementobjekte.
Und zwar möchte ich mit einer Javascript-Funktion in jedem Formularfeld die Eingaben eines HTML-Formulars überprüfen und dann im selben Feld bleiben, um direkt den neuen Wert eingeben zu können. Und um nicht für jedes Formularfeld eine eigene Funktion schreiben zu müssen (sind leider sehr viele Felder), möchte ich variabel auf das id-Attribut zugreifen und entsprechen den Fokus in diesem Feld lassen.

Hier im Beispiel:

function ErlaubteWerte(Zahl,ID) {
if (Zahl!=1 && Zahl!=2 && Zahl!=9) {
alert(„Nicht erlaubte Eingabe!“);
document.form1.ID.focus();
return false;
}
}

Hoffe das war verständlich.
Gibt es eine Möglichkeit dies zu realisieren? Oder geht das so gar nicht? Müsste ich sonst wirklich für jedes Feld eine eigene Funktion schreiben, wo die id direkt angeben ist (also document.form1.meineID.focus())?

Vielen Dank schon mal.

Hallo CruzWoman,

ist es wirklich so, dass in jedem zu überprüfenden Eingabefeld immer genau diese drei Werte unzulässig sein sollen?

Warum machst du es dann nicht einfach ohne ID des Formularelements:

function ErlaubteWerte(obj) {
if (obj.value!=1 && obj.value!=2 && obj.value!=9) {
alert(„Nicht erlaubte Eingabe!“);
obj.focus();
}
}

Ansonsten kannst du die jeweils unzulässigen Werte ja auch neben this (also der Referenz auf das Elementobjekt selbst) als weitere Parameter übergeben.

Bei einer nach oben offenen Liste unzulässiger Werte böte sich dann vielleicht das Arguments-Array der Funktion ab dem Member mit dem Index 1 (also dem zweiten Parameter an).

Gruß Gernot

Hallo Gernot,

vielen Dank :o) . Jetzt klappt es prima. Hab ich wohl viel zu kompliziert gedacht…

Ja, es werden immer genau diese Werte abgefragt. Deshalb lass ich es so fest drinne stehen.

Viele Grüße