True/False oder !chk würden es auch machen.
...kannst Du mir das bitte genauer erklären, verstehe es nicht?
Im Prinzip weist du doch in dieser IF bereits was .disabled rein soll. nämlich das gegenteil vom chk. Und das machst du ja auch, jedoch holst du es dir extra nocheinmal neu aus dem Element.
if(chk){
document.getElementById(felder[i]).style.backgroundColor = "#ffffff";
document.getElementById(felder[i]).disabled = !(document.getElementById('klick').checked);
Also:
if(chk){
document.getElementById(felder[i]).disabled = true;
} else {
document.getElementById(felder[i]).disabled = false;
oder:
if(chk){
document.getElementById(felder[i]).disabled = !chk;
} else {
document.getElementById(felder[i]).disabled = !chk;
Ansonsten solltest du dich um die Dinge kümmern, die Martin angemerkt hat.
..habs geändert, ist das so i.O.?
Nicht ganz
<input type="checkbox" id='klick' name="readonly" onclick="javascript:readonly(this.checked)" /> <br /><br />
Wie er bereits schrieb, ist ein "javascript:" überflüssig oder störend, wenn du eh bereits im JavaScript bist.