Problem of onchange in different browsers

onchange event runs differntly for every browser. eg: chrome triggers it as soon as you click it, while ie waits until the focus is removed.

by Avinash_R

HTML

<p>
    Try to click the checkbox in IE and Chrome.
    <br/>
    Note that chrome gives you same output on both cases. while the IE works very differntly
</p>
<br/>
<label>
    <input type="checkbox" onchange='fn'>
    onchange = disabled
</label>
<br/>
<pre>
if(this.checked == true || this.checked =="checked")
    //code for enabled state
else
    //code for enabled state
</pre>
<br/>
<p>A better Alternative is:</p>
<br/>
<label>
    <input type="checkbox" onclick='fn'>
    onclick = disabled
</label>
<br/>
<pre>
if(this.checked == true || this.checked =="checked")
    //code for enabled state
else
    //code for enabled state
</pre>

JavaScript

function fn() {
    if (this.checked == true || this.checked == "checked") 
        this.innerHTML = this.innerHTML.replace("disabled", "enabled");
    else 
        this.innerHTML = this.innerHTML.replace("enabled", "disabled");
}