Knut: getelementbyGROUP

Beitrag lesen

Das Element heißt 'child_1[0]'

Das ist schon richtig. Aber Du kannst es in Javascript genau wie ein Feld behandeln. In PHP kommt es dann auch als echtes Feld an.

Was ich meine ist, wenn die Felder alle gleich heißen:
<input type="checkbox" name="child_1">
<input type="checkbox" name="child_1">
<input type="checkbox" name="child_1">
kannst mit JS auf formular.elements['child_1'][index] zugreifen,

... und in der anderen Variante mit document.forms[0].elements['child[index]'].

Wir hatten uns doch darauf geeinigt, keine gleichen Namen zu vergeben (andernfalls wäre es nach Deiner Variante leichter, das ist richtig). Also geht doch nur noch nach Deiner Variante sowas

<input type="checkbox" name="child_1_1">
<input type="checkbox" name="child_1_2">

Wo siehst Du programmiertechnisch den großen Unterschied zu einem (unechten) Feld?

Und Felder lassen sich dann mit den passenden Schleifen problemlos als Kollektion durchlaufen. Felder sind ja nichts anderes als Kollektionen und genau dazu entwickelt worden, zusammengehörige Daten zusammenzufassen.

Nein du kannst eben nicht Problemlos in einer Schleife darauf zugreifen, zumindest nicht in JS.

Doch das geht. Mit ein wenig Zusatzaufwand, zugegeben. Du mußt Dir halt die Elemente über substr zusammensuchen und kannst darüber auch die Feldlänge bestimmen.

Die serverseitigen Probleme mit gleichen Namen lassen sich nicht umgehen, da nicht-aktivierte Checkboxen nicht im Http übertragen werden. Daran ist nicht zu rütteln. Gleiche Namen funktionieren eben nur bei singulären Werten. Dann kannst Du es so machen, um mit geringstem Aufwand zum Ziel zu kommen, sonst nicht.