Selektionszustände, Daten verschicken
Zugriff auf den Selektionszustand von einem Optionsfeld oder einem Kontrollkästchen
Die eben gezeigte Technik zeigt noch nicht, wie man auf den Selektionszustand von einem Optionsfeld oder einem Kontrollkästchen zugreifen kann? Hier steht ja die Eigenschaft value nicht zur Verfügung.
Aber sowohl die Objektrepräsentation von Optionsfeldern als auch Kontrollkästchen in einer Webseite verfügen über die Boolesche Eigenschaft checked. Diese korrespondiert mit dem entsprechenden (X)HTML-Attribut und ist aus JavaScript heraus sowohl zu lesen als auch zu schreiben.
Hat diese Eigenschaft den Wert true beziehungsweise 1 (Genau genommen wird jeder numerische Wert ungleich 0 als true interpretiert.), ist das Formularelement selektiert. Hat sie aber den Wert false beziehungsweise 0, ist das Formularelement deselektiert.
Beispiel:
<html>
<script language="JavaScript">
function testRadioButton() {
if(window.document.forms[0].elements[0].checked) {
document.getElementById("meldung").innerHTML = "Radiobutton Ja selektiert";
}
else {
document.getElementById("meldung").innerHTML = "Radiobutton Nein selektiert";
}
}
</script>
<body>
<form>
Ja <input type="Radio" name="a" value="v">
Nein <input type="Radio" name="a" value="w"><br />
<input type="button" value="OK" onClick="testRadioButton()" />
</form>
<div id="meldung"></div>
</body>
</html>In dem Beispiel wird ein Webformular mit zwei Optionsfeldern per (X)HTML definiert. Die Funktion testRadioButton(), die in diesem Beispiel über den Eventhandler onClick bei dem einfachen Button aufgerufen wird, dient zum Überprüfen des Zustands von dem ersten Radiobuttons. Anschließend wird je nach Zustand eine unterschiedliche Meldung angezeigt. Die Überprüfung von nur einem Radiobutton genügt, denn durch die Gruppierung des zweiten Radiobuttons über das identische name-Attribut ist dieser immer deselektiert, wenn der erste Radiobutton selektiert ist, und umgekehrt.
Beispiel 3: Webformular mit zwei Optionsfeldern wird per JavaScript ausgewertet
Zugriff auf Elemente einer Auswahlliste
Nun bleibt noch die Antwort auf die Frage übrig, wie Sie auf die Elemente einer Auswahlliste in einem Listenfeld zugreifen? Hier steht die Eigenschaft value zwar nicht beim umgebenden <select>-Container zur Verfügung, aber bei den enthaltenen Elementen vom Typ <option>.
