Volker: Alles auswählen

Hallo zusammen,

ich verwende folgenden JavaScript Code:

function ALLChoice(field, i)
{
  var checkcount = 0;
  var loop;

for (loop = 1; loop < field.length; loop++)
  {
    if (i == 0)
    {
      field[loop].checked = field[0].checked;
    }
    else
    {
      if (field[loop].checked)
      {
        checkcount++;
      }
      field[0].checked = (checkcount == field.length-1);
    }
  }
}

Da ich die Formulardaten später mit PHP auswerten möchte, habe ich meine Checkbox-Felder mit dem Namen "to[]" versehen (damit ein Array mit allen Werten erzeugt wird).

Wenn ich nun aber meine "Alles auswählen" checkbox anklicke reagieren die anderen Checkboxen nicht. Der Aufruf findet so statt:

<input type="checkbox" name="to[]" value="*" onclick="ALLChoice(document.versand.to[], 0)">

auf der JavaScript Konsole kommt die Meldung, dass die eckige Klammer das Problem ist. Wie kann ich das Script anpassen damit es trotz den Klammern noch funktioniert?

Vielen Dank für eure Hilfe.

Volker

  1. hi,

    auf der JavaScript Konsole kommt die Meldung, dass die eckige Klammer das Problem ist. Wie kann ich das Script anpassen damit es trotz den Klammern noch funktioniert?

    Verwende das in der Beschreibung zum Elements-Objekt in selfhtml verwendete "Schema 3" zum Zugriff auf die Elemente.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      Verwende das in der Beschreibung zum Elements-Objekt in selfhtml verwendete "Schema 3" zum Zugriff auf die Elemente.

      vielen Dank für den Tipp, habe das ganze nun mal so umgebaut:
      <input type="checkbox" name="to[]" value="*" onclick="ALLChoice(document.versand.elements["to[]"], 0)">

      jedoch erhalte ich nun auch wieder den Sytax error bei der ersten eckigen Klammer (nach elements).:

      Fehler: syntax error
      Quelldatei: http://www.bihrle.de/newsletter/versand.php?gruppe=1&layout=1&view=Newsletter+Vorschau
      Zeile: 1, Spalte: 35
      Quelltext:
      ALLChoice(document.versand.elements[

      Volker

      1. hi,

        onclick="ALLChoice(document.versand.elements["to[]"], 0)">

        ^hier beginnt der Attributwert       ^hier endet er

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. hi,

          onclick="ALLChoice(document.versand.elements["to[]"], 0)">
                    ^hier beginnt der Attributwert       ^hier endet er

          gruß,
          wahsaga

          Hallo,

          also ich hatte da glaube ich echt Tomaten auf den Augen, vielen Dank für die Hilfestellung, so funktioniert nun alles wie es soll:

          <input type="checkbox" name="to[]" value="'.$gruppendata['id'].'" onclick="ALLChoice(document.versand.elements['to[]'], 1)">

          Also nochmals vielen Dank!!!

          Volker