Tag Ingo.
Ich korrigiere mich dahin gehend, dass der Eventhandler onchange laut MSDN tatsächlich nur in Texteingabefeldern und Auswahllisten korrekt funktioniert. Statt dessen dürfte der proprietäre Eventhandler onactivate das Mittel der Wahl sein. Ich habe das mal getestet:
function init() {
obj = document.Testform.farbwexel;
for(i=0;i<obj.length;i++) {
if(window.event) {
obj[i].onactivate = function() { document.getElementById('klicker').style.backgroundColor=this.value; };
}
else {
obj[i].onchange = function() { document.getElementById('klicker').style.backgroundColor=this.value; };
}
}
}
Diese Funktion wird beim Laden aufgerufen, der dazu gehörende Auszug aus dem HTML-Code sähe so aus:
<body style="color:black;background-color:white;" onload="init();">
<form name="Testform">
<input type="radio" name="farbwexel" value="red"> Hintergrund Rot<br>
<input type="radio" name="farbwexel" value="magenta"> Hintergrund Magenta<br>
</form>
<table>
<tr>
<td id="klicker">Blubber</td>
</tr>
</table>
</body>
Das funktioniert im IE 6 und im Mozilla 1.0.4 genauso, wie es soll. Andere Testbrowser stehen mir hier nicht zur Verfügung, aber die Ergebnisse würden mich brennend interessieren. Allerdings dürfte das Prinzip das Gleiche sein, aber evtl. sind noch ein paar Codeanpassungen nötig.
Siechfred
--
Everybody's going to the party have a real good time,
Dancing in the desert blowing up the sunshine.