Struppi: getelementbyGROUP

Beitrag lesen

Schön und woher weißt du wieviele Elemente du hast?
in der üblichne Variante mit formular.elements['child_1'].length

Mit ein wenig Aufwand kann man das rauskriegen.

sage ich doch die ganze Zeit.

gar keinen, wobei ich nicht weiß ob wir uns geeinigt haben, es kommt darauf an welchen Zweck das ganze haben soll.

Das hatten wir schon, es kommt eben auf den Zweck des ganzen an, ob eine Checkboxgroup Sinn macht oder nicht.

Ja, genau, darauf hatten wir uns ja auch verständigt?

Ich denke, es hat sich jetzt eine optimale Lösung (zumindest für PHP) herauskristallisiert:

<input type="checkbox" name="child_1[]" />
<input type="checkbox" name="child_1[]" />
<input type="checkbox" name="child_1[]" />
»»
Wie in PHP üblich muss KEIN(!) Index bei Arrays angegeben werden, sondern es wird automatisch inkrementiert, durch die gleichen Namen ist es ebenso in JS möglich die Daten zu verarbeiten.

Perfekt für Javascript. Nichts gegen Perl, aber das ist ein klarer Vorteil von PHP.

wie gesagt das macht Perl in dem Falle auch ob mit oder ohne eckigen Klammern ein klarer Vorteil für Perl und es ist natürlich problemlos möglich eine solche Variante selber zu programmieren, es würde mich wundern wenn es dafür kein passendes Modul gibt.

Genau, und das ist eine auf PHP beschränkte Schreibweise und an sich nicht nötig.

Leider doch, zumindest in manchen Fällem, das hatten wir doch schon. Sonst kannst Du bei gleichen Werten nicht entscheiden, welche Checkbox aktiviert wurde.

Arghl, der Punkt ist doch, warum soll es mehrere checkboxen geben, die den gleichen Wert und den gleichen Namen haben? Da, wie du ja bereits festgestellt hast, nicht angeklickte Checboxen nicht übertragen werden, bringt auch deine PHP Lösung nichts, da auch PHP nicht erraten kann welche Box angekreuzt wurde.

Wie schon geschrieben in Perl braucht man die eckigen Klammern z.b. ...

manchmal

Man braucht sie immer nicht um gleichnamige Felder auszuwerten.

nicht

hat dadurch aber nicht die Möglichkeit mehrere Tiefen einzubauen,

was um so bedauerlicher ist und man sie irgendwie doch braucht. Also kannst Du dir auch nur über den Namen ein künstliches Feld zusammenbauen.

Etwas anderes ist das ja in PHP auch nicht und wie gesagt ich vermute das es bestimmt für solch einen Zweck ein Modul gibt (und wenn nicht ist sowas in 5 Minuten zusammengebaut).

Struppi.