Hendrik: Checkboxen per klick alle selektieren/deselektieren!?

Hey!

Ich habe mir ein Javascript-Script (haha, wie dumm) geschrieben, welches alle Checkboxen mit dem gleichen Namen selektiert bzw. deselektiert (dieses Script funktioniert auch, falls man nicht erlauben in erlauben[] umbenennt):

  
<script type="text/javascript">  
          function checkbox_wechsel() { /*Diese Funktion wird über eine weitere Checkbox (onclick) mit dem Namen wechsel_checkbox aufgerufen*/  
  
     if (document.hochladeformular.wechsel_checkbox.checked == true) {  
  
   for (var i = 0; i < document.hochladeformular.erlauben.length; i++) {  
  document.hochladeformular.erlauben[i].checked = true;  
   }  
  
     }  
      else {  
  
   for (var i = 0; i < document.hochladeformular.erlauben.length; i++) {  
  document.hochladeformular.erlauben[i].checked = false;  
   }  
  
      }  
  
          }  
</script>  

Und natürlich das dazugehörige Formular:

  
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" name="hochladeformular" enctype="multipart/form-data">  
<input type="checkbox" name="erlauben" id="erlauben<?=$i?>" value="<?=$danach?>">&nbsp;<label for="erlauben<?=$i?>"><?=$danach?></label><br><!--Hier natürlich mit einer Schleife Variablenwerte ausgelesen-->  
</form>  

Nun habe ich aber folgendes Problem: Ich möchte die Checkboxen komfortabel auswerten. Dazu benenne ich die Checkbox-Gruppe von erlauben in erlauben[] um. Nun funktioniert das ganze Javascript-Script natürlich nicht mehr. Aber den richtigen Namen kann ich nun auch nicht oben hinschreiben, also sowas wie:

  
<script type="text/javascript">  
   for (var i = 0; i < document.hochladeformular.erlauben[].length; i++) {  
  document.hochladeformular.erlauben[][i].checked = true;  
   }  
</script>  

Das geht leider nicht. Was soll ich machen? Wisst ihr eine Lösung für dieses Problem?

Hendrik

--
-------------------
Zur Info: Ich habe leider nur PHP 4.4.4 und MySQL 4.1.22 zur Verfügung!
-------------------
ie:% fl:| br:> va:) ls:[ fo:) rl:( n4:° ss:| de:> js:| ch:? sh:( mo:) zu:)
SELFCode Decoder
  1. Hallo Hendrik,

    du könntest mal versuchen, all deine Checkboxen mit dem komischen Klammernamen wie folgt anzusprechen:

      
    document.hochladeformular['erlauben[]'][i]  
    
    

    Ob das funktioniert, habe ich aber nicht ausprobiert.

    Gruß Gernot

  2. Moin

    versuch mal:

    var x=document.getElementsByName("erlauben[]");

    ...
    for (var i = 0; i < x.length; i++) {
     x[i].checked = true;
     }
    else
    for (var i = 0; i < x.length; i++) {
     x[i].checked = false;
     }
    ...

    Gruß
    rfb