Der Martin: radiobutton on/off setzen

Beitrag lesen

Hi Thomas,

Habe eine Checkbox und ein radiobutton. Wenn die checkbox angeklickt ist, dürfen die radiobuttons ebenfalls angeklickt werden. Wenn aber die Checkbox nicht gewählt ist sollten die radiobuttons deaktiviert werden.

okay, das hört sich nicht gar so schwierig an.

if (document.neuerEintrag.rssfeed.value = '1')

Aber diese Zeile enthält gleich zwei Denkfehler.
Ein Checkbox-Element hat zwar eine value-Eigenschaft, es ist aber sinnlos, sie abzufragen, da sie nicht den Zustand wiedergibt. Dafür gibt es die checked-Eingenschaft.
Ausserdem hast du in der if-Anweisung keinen Vergleich, sondern eine Zuweisung formuliert. Du setzt also den value der Checkbox immer auf '1', das Ergebnis dieser Anweisung ist 'wahr' im boolschen Sinn, also wird immer die Anweisung nach dem if ausgeführt, der else-Zweig kommt nie zum Zuge.
Deine Abfrage müsste also einfach lauten

if (document.neuerEintrag.rssfeed.checked)

Und den Rest kann man sogar eleganter und einfacher ohne if-Anweisung schreiben:

document.neuerEintrag.rssStyle.disabled = !document.neuerEintrag.rssfeed.checked;

Ich setze disabled des Radiobutton-Elements also einfach auf den invertierten Wert des checked-Zustands der Checkbox.

Schönes Wochenende noch,
 Martin

--
Der Stress von heute ist die gute alte Zeit von morgen.