Michael Schütz: Form-Element Radio ansprechen

Beitrag lesen

Hallo Jörg,

dass das mit drei mal gleicher ID nicht korrekt ist, weiss ich, doch bekomme ich innerhalb meines Systems sonst mit Netscape Probleme, wenn NAME und ID nicht übereinstimmen
Und da if (document.getElementsByName(array[i]).type == "radio") bei NS und IE nicht funktioniert (auch wenn ID unterschiedlich) entschloss ich mich letztlich beides gleich zu setzen

So funktionierts nun
danke, hatte den Wald vor lauter Bäumen nicht meh gesehen

} else if (document.getElementById(array[i]).type == "radio") {
  for (j=0; j<25; j++) {
    if (document.getElementsByName(array[i])[j]) {
      alert(document.getElementsByName(array[i])[j].checked);
    }
  }
}

Hallo,

zunächst einmal ist Dein HTML-Markup nicht valide, wenn Du eine ID mehrfach vergibst, in Deinem Fall also an die Checkbox-Felder.
Damit eine ID ihrem Zweck als Identifizierer gerecht werden kann, muß sie eindeutig sein.
Das name-Attribut hingegen darfst Du mehrfach identisch belegen.
Also etwa so:
<input type="checkbox" name="auswahl" id="choice_1" value="foo" />
<input type="checkbox" name="auswahl" id="choice_2" value="bar" />
<input type="checkbox" name="auswahl" id="choice_3" value="baz" />

Erst dann hast Du valides HTML und kannst überlegen, wie Du nun auf Deine Formularfelder zugreifst.
Vielleicht mußt Du Deinen Ansatz umstellen und Dich an die name-Attribute halten (-> http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name).

Ciao,
Andreas