Der Martin: Checkbox`en überprüfen

Beitrag lesen

Hallo Björn,

<input type="checkbox" value="1" name="gruppe[eins]" checked>Eins
<input type="checkbox" value="2" name="gruppe[zwie]" checked>Zwei

wenn du die Formularelemente mit Javascript ansprechen willst, ist es immer etwas problematisch, wenn im Namen irgendwelche Sonderzeichen vorkommen. In deinem Beispiel lautet der NAME der ersten Checkbox "gruppe[eins]", die eckigen Klammern haben für Javascript in diesem Fall keine besondere Bedeutung.

Dann lautet doch die Abfrage:
if(document.Formular.gruppe[eins].checked == false

Nein. Damit versucht Javascript, ein Array mit dem Namen "gruppe" anzusprechen, und daraus das Element rauszupicken, das durch die Variable eins indiziert wird. Das ist Mumpitz.

Das beste wäre in deinem Fall, die Namen der Felder zu ändern, so dass sie nur unverfängliche Zeichen wie Buchstaben und eventuell Ziffern enthalten. Aber wenn du die Namen schon so lassen willst, musst du das Adressierungsschema ändern in
   document.Formular["gruppe[eins]"].checked

Übrigens wirkt die Abrfrage von boolschen Werten mit dem Vergleich auf ==false immer etwas unbeholfen. Warum nicht kürzer und verständlicher:

if (!document.Formular["gruppe[eins]"].checked && ... )

Das ist vielleicht Geschmackssache, aber ich finde, das liest sich viel leichter.

So long,
 Martin

PS: Nimm's mir bitte nicht übel, aber ich habe deinen Namen beim ersten Hinsehen als "Björn Weichei" gelesen ...  ;-)

--
Alkohl ist ungesund,
Rauchen ist schädlich,
Sex ist unanständig
- und die Erde ist eine flache Scheibe.