Checkboxen aktivieren geht nicht

Azi

Erfahrenes Mitglied
Ich bin am verzweifeln. Das Javascript sieht so aus:
Code:
  <script type="text/javascript">
        function check(input,how)
        {
          window.document.getElementByClass(input).checked = how;
        }
  </script>

Die Checkboxen so:
Code:
<div class="form">
 <input type="checkbox" name="wert[x]" value="text" />
 <input type="checkbox" name="wert[y]" value="inhalt" />
</div>

Und die Links so:
Code:
<a onclick="check('form',true)">Alle aktivieren</a>
<a onclick="check('form',false)">Alle deaktivieren</a>

Warum funktioniert das nicht?
 
Azi hat gesagt.:
Warum funktioniert das nicht?
  1. Weil man voher schauen sollte wie die Methode genau heißt, bzw. ob es so eine überhaupt gibt und nicht einfach irgendwas erfinden.
  2. Weil die Methode ein Array mit Objektreferenzen zurück gibt und nicht nur eine Objektreferenz.
  3. Weil Links eingelich ein href-Attribut brauchen.
  4. Weil in deinem Fall das href-Attribut mit "return false" im onclick blockiert werden muss, damit der href nicht aufgerufen wird.

Es sollte also irgentwie so aussehen:
Javascript:
function check(input,how) {
	var	div = window.document.getElementsTagName('div'); //Referenzen auf alle div-Elemente erzeugen
	var	obj, cbox; //Variablen initialisieren
	for (var i=0; obj = div[i]; i++) //alle div-Elemente durchgehen
		if (obj.class==input) //testen ob es sich beim aktuellen div um eins mir der richtige Klasse handelt
			for (var j=0; cbox = obj.childNodes[j]; j++) //wenn ja alle Kindknoten durchgehen
				if (cbox.type=='checkbox') //testen ob es sich beim aktuellen Kindknoten um eine Checkbox handelt
					cbox.checked = how; //wenn ja aktuelle Checkbox checken bzw. entchecken
}
HTML:
<a href="#" onclick="check('form',true); return false;">Alle aktivieren</a>
Nicht getestet, aber das sollte dir zumindest eine vage Idee geben, falls es nicht funktioniert.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück