Felix Riesterer: onclick="alert(this.checked)"; ?!?

Beitrag lesen

Liebe Martina,

mein Vorschlag (ins Unreine geschrieben!):

// globales Array definieren, in welches alle relevanten Radio-Buttons und ihre Zustände gespeichert werden sollen  
var myRadioButtons = new Array();  
  
/* Alle Radio-Buttons ermitteln und im Array ablegen!  
   Jedes Array-Element ist ein Objekt, welches zwei Eigenschaften hat:  
   "object" - eine Referenz zum "echten" Radio-Button und  
   "checked" - der Wert der checked-Eigenschaft des Radio-Buttons. */  
function init_array() {  
    var alleInputs = document.getElementsByTagName("input"); // ermittelt alle <input>-Elemente  
    for (var i = 0; i < alleInputs.length; i++) {  
        if (alleInputs[i].type && alleInputs[i].type == "radio") { // ist es ein Radio-Button?  
           // Button und seinen Zustand speichern  
           myRadioButtons[myRadioButtons.length] = {  
               object : alleInputs[i],  
               checked : alleInputs[i].checked  
           };  
        }  
    }  
}

Nun hast Du den Zustand aller Radio-Buttons zum Zeitpunkt des Aufrufs der Funktion "init_array". Wenn Du nun in Deiner Handler-Funktion auf dieses Array zugreifst, dann brauchst Du nur zu prüfen, ob "myRadioButtons[i].object" mit dem angeklickten Element übereinstimmt. Jetzt kannst Du prüfen, welcher Zustand zuletzt abgelegt worden war und entsprechend reagieren. Vergiss aber nicht, den aktuellen Zustand in "myRadioButtons[i].checked" einzutragen!

Liebe Grüße aus Ellwangen,

Felix Riesterer.