Sebastian Hutter: Alle Checkboxen anwählen

Hallo Zusammen

Ich habe im Archiv einen Bericht gefunden, welcher besagt, dass man, wenn man Namen für Checkboxen benutzt mit dem Objekt elements arbeiten sollte.

Nun habe ich eine Funktion, welche genau das machr, leider funktioniert es nicht. Kann mir jemand helfen ?

--> Funktion
function ChoiceAll(field)
{
 alert("Alle Bilder wurden angewählt");
 for (var i = 0; i < field.length; i++)
   {
       document.forms[#].elements[field[i]].checked = true;
   }
}

--> Definition der Cheeckbox
<input type="checkbox" name="bilder[]" value="'.$pfad_web.$file_array[$i].'" />

--> Button, der die Funktion aufruft
<input type="button" name="all" value="Alle Bilder anwählen" onClick=ChoiceAll(bilder[]) />

PS: Bin absoluter Anfänger mit Javascript.

Dane schon im Vorraus
Sebastian Hutter

  1. Tag Sebastian.

    Ich habe im Archiv einen Bericht gefunden, welcher besagt, dass man, wenn man Namen für Checkboxen benutzt mit dem Objekt elements arbeiten sollte.

    Kann, nicht soll.

    Nun habe ich eine Funktion, welche genau das machr, leider funktioniert es nicht.

    Das liegt am Namen des Formularelements, '[]' kennzeichnet in Javascript ein Array. Du kannst zwar deine Checkboxen so nennen, aber nicht so ohne weiteres mittels ihres Namens auf sie zugreifen.

    function ChoiceAll(field)
    {
    alert("Alle Bilder wurden angewählt");
    for (var i = 0; i < field.length; i++)
       {
           document.forms[#].elements[field[i]].checked = true;
       }
    }

    Selbst wenn es so ginge, würdest du den String field ("bilder[]") Zeichen für Zeichen durchgehen, deine Anweisung läse sich dann so:

    document.forms[#].elements['b'].checked = true;
    document.forms[#].elements['i'].checked = true;
    usw.

    Aber so geht das nicht.

    Es bleibt dir nichts anderes übrig, als alle Formularelemente durchzugehen und auf ihre Art hin zu untersuchen. Sollte es sich um eine Checkbox handeln, dann ändere die Eigenschaft checked auf true. Sollte es noch andere Checkboxen geben, die du nicht ändern willst, müsstest du noch den Elementnamen abgleichen.

    Lesetipps:

    [dsf 3.6]
    Siechfred

    --
    »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
    1. Danke :) werde mich da mal durchackern