sarah: checkbox-checkall-Script

Hallo,
Ihr kennt das ja bestimmt von GMX oder so... Alle Emails Selektieren und Löschen oder Verschieben oder sonstwas..
ich suche genau dieses JavaScript, aber eines welches damit zurecht kommt das die namen der Checkboxen alle name="array[]" heißen für die weiterverabeitung der gesammelten Daten

das ging doch irgendwie mit ID="abc1-n" oder?

hat jmd nen Link oder Codeschnipsel etc?? DANKE!!

sarah

  1. Hi Sarah

    hiermit kannst zum beispiel alle Checkboxen von einem bestimmten Formular auf checked setzen:

    el = document.forms["DeinForumarName"].elements;
        for (i=0;i < el.length;i++)
        {
            if(el[i].type.toLowerCase()=="checkbox")
                el[i].checked = true;
        }

    Grüße

    Bezkeroon

    Hallo,
    Ihr kennt das ja bestimmt von GMX oder so... Alle Emails Selektieren und Löschen oder Verschieben oder sonstwas..
    ich suche genau dieses JavaScript, aber eines welches damit zurecht kommt das die namen der Checkboxen alle name="array[]" heißen für die weiterverabeitung der gesammelten Daten

    das ging doch irgendwie mit ID="abc1-n" oder?

    hat jmd nen Link oder Codeschnipsel etc?? DANKE!!

    sarah

    1. <script language="JavaScript">
      <!--
      function checkall()
      {
       if (document.custform.selectall.checked == true)
       {
        el = document.forms["custform"].elements;
        for (i=0;i < el.length;i++)
        {
         if(el[i].type.toLowerCase()=="checkbox")
          el[i].checked = true;
        }
       }
       else
       {
        el = document.forms["custform"].elements;
        for (i=0;i < el.length;i++)
        {
         if(el[i].type.toLowerCase()=="checkbox")
          el[i].checked = false;
        }
       }
      }

      //-->
      </script>

      custform ist mein Formularname! und selectall ist der Name der Checkbox die die Funktion auslöst! Saubere Vorlage! Danke!

      1. Das Beispiel ist nicht so gut.

        <script language="JavaScript">

        Das language Attribut gehört hier nicht mehr hin und das type Attribut fehlt.

        <!--

        HTML Kommentare waren nötig zu Zeiten von Netscape 1.x

        function checkall()

        Da deine Checkbox in dem gleichen Formular ist wie die die du anwählen willst, könntest du hier direkt das Formular übergeben und würdest dir Tipparbeit ersparen und bräuchtest keinen Namen mehr für das Formular.

        {
        if (document.custform.selectall.checked == true)
        {
          el = document.forms["custform"].elements;
          for (i=0;i < el.length;i++)

        Variabeln global machen (vor allem Schleifenzähler) ist in dem Fall zwar nicht schlimm ist aber eine sehr unsaubere Sache, die zu unerwarteten Programmabläufen führen.

        else

        Das ganze if else Konstrukt kannst du dir sparen, das Element selectall ja den Zustand der anderen checkboxen beschreibt.

        Besser wäre das Skript so:

        Aufruf:
        <input type="checkbox" name="selectall" onclick="window.selectall(this);">
        (window ist hier nötig, da der IE ansonsten nicht weiß was er tun soll)

          
        <script type="text/javascript">  
        function selectall(el)  
        {  
            var checked = el.checked;  
            var elements = el.form.elements;  
            for(var i = 0; i < elements.length;i++)  
                if(elements[i].type.toLowerCase() == 'checkbox') elements[i].checked = checked;  
        }  
        </script>  
        
        

        Struppi.

        --
        Javascript ist toll (Perl auch!)