Axel Richter: formular - feld - array - abfrage auf checked

Beitrag lesen

Hallo,

ich habe ein Problem mit einer JavaScript-Abfrage auf checked.

gängig ist dieses:
Formularfeld:
<input type="radio" name="var_1" value="1"> Ja
<input type="radio" name="var_1" value="2"> Nein

Die JavaScript-Abfrage erfolgt dann korrekt durch:
if (document.formular.var_1[0].checked == false && document.formular.var_1[1].checked == false) {
// NIX ANGEKREUZT
}

Das ist _eine_ Möglichkeit.

Alle Formulare eines HTML-Dokuments werden beim Parsen in eine Collection (Auflistung) document.forms[] aufgenommen. Dein Formular heißt offensichtlich "formular". Das ist so, weil es den Namen oder die ID "formular" hat. Innerhab der Collection wäre Dein Formular dann document.forms["formular"]. In Kurzschreibweise kann man auch document.formular schreiben.

Alle Elemente eines HTML-Formulars werden beim Parsen in eine Collection (Auflistung) document.forms[formitem].elements[] aufgenommen. Dein Formular heißt "formular", Deine Elemente heißen "var_1". Das ist so, weil sie den Namen "var_1" haben. Innerhab der Collection wäre eines Deiner Elemente dann document.forms["formular"].elements["var_1"], weil es aber mehrere gleichnamige Elemente gibt, entsteht ein Array document.forms["formular"].elements["var_1"][]. In Kurzschreibweise kann man auch dokument.formular.var_1[] schreiben.

Jetzt kommt mein Problem:
<input type="radio" name="var_2[]" value="1"> rot
<input type="radio" name="var_2[]" value="2"> gelb
<input type="radio" name="var_2[]" value="3"> grün

Wie frage ich dieses auf "checked" ab?

document.forms["formular"].elements["var_1"][0].checked

Übrigens gibt es viele solche Collections und ihre Nutzung ist weit performanter als das Durchsuchen des DOM mit document.getElement...-Methoden.

Beispiele für weitere wichtige Collections:

window.frames[frameitem]
document.images[bildname]
document.links[]
...
http://de.selfhtml.org/javascript/objekte/index.htm

viele Grüße

Axel