Skip to content Skip to sidebar Skip to footer

Onchange / Onclick In A Checkbox Doesn't Work In Ie

I have the following code, which works perfectly in Chrome/FF: chkbx_send_demo.onchange = function(){ if(sel_template.selectedIndex <= 0 && chkbx_send_demo.checked =

Solution 1:

Internet Explorer only fires the onchange event when the checkbox loses the focus (onblur). also see here: http://krijnhoetmer.nl/stuff/javascript/checkbox-onchange/ and here: http://bytes.com/topic/javascript/answers/92116-onchange-checkbox

Solution 2:

i faced the same issue on ie8, i used below trick to fix it. http://sleeplesscoding.blogspot.com/2010/01/fixing-ie-onchange-event-for-checkboxes.html

Solution 3:

Are you sure onclick does not work? Did you check for javascript errors?

The following works in IE7 (don't have IE6 to test)

<html><head><script>functiontext()
            {
                alert(document.getElementById("cbxTest").checked);
            }
       </script></head><body><inputtype="checkbox"name="cbxTest"id="cbxTest"onclick="text()"/><labelfor="cbxTest"> Test </label></body></html>

Note: This is only for onclick. OnChange works differently in IE, see GOsha's answer.

Solution 4:

my JS code is now something like this:

if(navigator.appName == "Microsoft Internet Explorer"){
            alert("IE");
            chkbx_send_demo.onclick = function(){
                alert("HI");
                if(sel_template.selectedIndex <= 0 && chkbx_send_demo.checked == true){
                    alert("Choose a Template");
                    sel_template.selectedIndex = 1;
                }
                if(chkbx_send_demo.checked == false){
                    alert("HI");
                    sel_template.selectedIndex = 0;
                }
                alert("HI");
            }
        }
        else
        {
            chkbx_send_demo.onchange = function(){
                if(sel_template.selectedIndex <= 0 && chkbx_send_demo.checked == true){
                    alert("Choose a Template");
                    sel_template.selectedIndex = 1;
                }
                if(chkbx_send_demo.checked == false){
                    sel_template.selectedIndex = 0;
                }
            }
        }

No javascript errors, but the code just isn't executed on IE and i really can't understand why.

Post a Comment for "Onchange / Onclick In A Checkbox Doesn't Work In Ie"