il trap: chreckboxen automatisch angeklickt

Hallo,
Ich suche eine Funktion, mit der, genau wie z.B. in einer Email Inbox, beim Anklicken der Checkbox in der Titelleiste alle untenstehenden Zeilen selektiert werden (wobei alle Zeilen auch eine Checkbox haben). Im Quellcode ist die Funktion nicht zu finden. Das geht wohl nur mit js, oder?
Wäre um einen Tipp sehr dankbar!
Gruss, il trap

  1. Hallo il trap,

    JavaScrip lässt sich nicht vermeiden!

    Schau einfach mal hier rein:

    http://selfhtml.teamone.de/javascript/objekte/elements.htm

    dort findes du schon mal die Anfänge für Zugriffe auf Elemente in einem Formular (unter Allgemeines) und auch wie man eine Checkbox autom. "anclickt" und wieder "ausklickt"!

    Wenn sich dann weitere Fragen ergeben, immer her damit ;o)

    MfG
    Chipsy

    1. Hi Chipsy,

      Danke, diese Seiten sind mir bekannt, ich kann sie einfach nicht auf mein Problem anwenden...
      Hier mal etwas Code, ist alles im gleichen php Skript:

      print "<script language="JavaScript" type="text/javascript">";

      print "function click_all() { ";
             ???
      print "}";
      print "</script>";

      ...

      print "<th><input type="checkbox" name="check_all" onClick="click_all()"></th>"; // Checkbox in Titelleiste

      ...

      print "<td><input type="checkbox" name="checkbox[]" value="$data[4]"></td>"; // Checkbox in jeder Zeile

      Ich muss irgendwie in der Funktion allen Elementen des Arrays $checkbox (aus checkbox[]) "checked" zuweisen, denke ich, sehe den Weg aber nicht (auch Syntax mässig)...

      Gruss, il trap

      1. Ich muss irgendwie in der Funktion allen Elementen des Arrays $checkbox (aus checkbox[]) "checked" zuweisen, denke ich, sehe den Weg aber nicht (auch Syntax mässig)...

        Über http://www.netzwelt.com/selfhtml/javascript/objekte/forms.htm
        (vor allem "Schema 2 / Beispiel 2:" ist wichtig für dich)

        kommst du nach http://www.netzwelt.com/selfhtml/javascript/objekte/elements.htm#checked

        das sollte reichen um dein Problem zu lösen.

        Struppi.

        1. Hi, Danke,
          Ich habe mal das gemacht:

          print "function click_all() { ";
          print "document.insertform.checkbox[].checked = 'checked'";
          print "}";

          wobei insertform: Name des Formulars
                checkbox[]: Name der Checkboxes (Array)
                checked = 'checked': Eigenschaft, die alle Checkboxen bekommen sollen.

          Klappt aber immer noch nicht. Was mache ich falsch?

          Gruss, il trap

          1. Hi, Danke,
            Ich habe mal das gemacht:

            print "function click_all() { ";
            print "document.insertform.checkbox[].checked = 'checked'";
            print "}";

            wobei insertform: Name des Formulars
                  checkbox[]: Name der Checkboxes (Array)
                  checked = 'checked': Eigenschaft, die alle Checkboxen bekommen sollen.

            Klappt aber immer noch nicht. Was mache ich falsch?

            *g*

            Ich schrub:
            Über http://www.netzwelt.com/selfhtml/javascript/objekte/forms.htm
            (vor allem "Schema 2 / Beispiel 2:" ist wichtig für dich)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

            dort steht:
            document.forms["FormularName"].Eigenschaft
            document.forms["FormularName"].Methode

            Ziel = document.forms["Testformular"].action;
            document.forms["Testformular"].reset();

            und hilft's?

            Struppi der vorleser.

            1. und dann seh ich noch das:

              print "document.insertform.checkbox[].checked = 'checked'";

              du hast gar nichts gelesen?
              http://www.netzwelt.com/selfhtml/javascript/objekte/elements.htm

              Struppi.

              P.S. danke, dass ich, um dir beim lesen zu helfen, nochmal zwei Postings abschicken durfte :-(

              1. Ich hatte alles durchgelesen und dann eben diese Variante gesehen, die mir einleuchtend erschien. Ich habe von js nicht viel Ahnung, da ich es immer zu vermeiden versuche, ich bitte deshalb um etwas Geduld...
                neuer Versuch:

                print "function click_all() { ";
                if (document.insertform.check_all.checked == true) // *
                print "checkbox[] = document.forms["insertform"].checked"; // **
                print "}";

                * wenn checkbox der Titelleiste angeklickt
                ** gemäss Schema: Ziel = document.forms["Testformular"].action;¨

                klappt nicht wirklich...
                il trap

                1. Ich hatte alles durchgelesen und dann eben diese Variante gesehen, die mir einleuchtend erschien. Ich habe von js nicht viel Ahnung, da ich es immer zu vermeiden versuche, ich bitte deshalb um etwas Geduld...

                  Naja, du programmierst in PHP aber kannst so einfache Sachen nicht umsetzten.

                  print "function click_all() { ";
                  if (document.insertform.check_all.checked == true) // *
                  print "checkbox[] = document.forms["insertform"].checked"; // **

                  Was ist dass denn?

                  Dein Problem ist der Name der checkboxen 'checkbox[]' nicht der Namen des Formulars, ich dacht jemand der PHP porgrammiert könnte vielleicht halbwegs umdenken.

                  Übrigens ist es immer sinnvoll zumindest i.d. Entwicklungsphase, sich auch mal die Wert auszugeben, die man verwenden möchte.

                  Also:

                  <form ....>
                  <input type="checkbox" onclick="check_all(this);">

                  ....

                  </form>

                  function check_all(feld)
                  {
                  var f = feld.form;
                  for(var i = 0; f.elements['checkbox[]'][i];i++)
                  f.elements['checkbox[]'][i].checked = feld.checked;
                  }

                  Struppi.

                2. Ich hatte alles durchgelesen und dann eben diese Variante gesehen, die mir einleuchtend erschien. Ich habe von js nicht viel Ahnung, da ich es immer zu vermeiden versuche, ich bitte deshalb um etwas Geduld...

                  Das ist aber mit sicherheit nicht wahr oder dein Lesemodul ist arg ramponiert:
                  http://www.netzwelt.com/selfhtml/javascript/objekte/elements.htm#checked

                  Da steht: Speichert, ob bzw. dass ein Radio- oder Checkbutton aktiviert ist oder nicht. Mögliche Werte sind true bzw. 1 oder false bzw. 0.

                  true/false oder 0/1 aber nix von 'checked'.

                  Struppi.