最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

internet explorer 7 - How to detect checkbox state in Javascript IE7 - Stack Overflow

programmeradmin1浏览0评论

I have a simple checkbox on my website. Everytime you check and uncheck it, it shows an alert as to what the state is. This works flawlessly in FF, Chrome, and IE8. However, when I run this in IE7, no matter if the check is on or off, it always alerts "off". It's like IE7 can't detect that the checkbox is checked.

Does anyone have an idea of how to fix this or work around it? I basically need to toggle the visibility of some content based on a checkbox, but IE7 is being difficult. Thanks!

Here is my code that I'm using:

function showHideTimeDropdown()  
{   
  if (document.getElementById("input_checkbox").checked == true){
    alert("on");
  }
  else{  
    alert("off");  
  }  
}

EDIT:
Okay, turns out that having the Name and the ID of the element confused the browser. I made the name of the element different than the ID and that solved it.

Thank you both for helping me out. Just hearing that you guys had tried it and couldn't replicate my problem told me that perhaps I was looking in the wrong place, of which I was :)

I have a simple checkbox on my website. Everytime you check and uncheck it, it shows an alert as to what the state is. This works flawlessly in FF, Chrome, and IE8. However, when I run this in IE7, no matter if the check is on or off, it always alerts "off". It's like IE7 can't detect that the checkbox is checked.

Does anyone have an idea of how to fix this or work around it? I basically need to toggle the visibility of some content based on a checkbox, but IE7 is being difficult. Thanks!

Here is my code that I'm using:

function showHideTimeDropdown()  
{   
  if (document.getElementById("input_checkbox").checked == true){
    alert("on");
  }
  else{  
    alert("off");  
  }  
}

EDIT:
Okay, turns out that having the Name and the ID of the element confused the browser. I made the name of the element different than the ID and that solved it.

Thank you both for helping me out. Just hearing that you guys had tried it and couldn't replicate my problem told me that perhaps I was looking in the wrong place, of which I was :)

Share Improve this question edited May 5, 2010 at 6:04 justinl asked May 5, 2010 at 4:18 justinljustinl 10.6k22 gold badges71 silver badges90 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 4

Okay, turns out that having both the Name and the ID of the element the same confused the browser. I made the name of the element different than the ID and that solved it.

Hi there i wanted to help but I was unable to duplicate the problem.. below is the code I tried.

<html> 
<head> 
  <script language="javascript"> 
  function showHideTimeDropdown()   
{    
  if (document.getElementById("input_checkbox").checked == true){ 
    alert("on"); 
  } 
  else{   
    alert("off");   
  }   
} 
window.onload = function () {showHideTimeDropdown();};
  </script> 
</head> 
<body> 


<input id="input_checkbox" type="checkbox" value="true" onchange="showHideTimeDropdown();">
<input type=text>
</body> 
</html>

This code works in IE7. Perhaps you can post the code for the checkbox and for whatever event handler calls the "showHideTimeDropdown" function.

<html>
  <head>
    <script>
      function showHideTimeDropdown()  
      {
        if (document.getElementById("input_checkbox").checked)
          alert("on");
        else
          alert("off");
      }
    </script>
  </head>
  <body>
    <input onclick="showHideTimeDropdown();" id="input_checkbox" type="checkbox"/>
  </body>
</html>
发布评论

评论列表(0)

  1. 暂无评论