簡體   English   中英

Javascript IE7 / IE8差異

[英]Javascript IE7/IE8 Discrepancy

當我在IE8中使用document.getElementById('checkbox1').checked == true ,它不起作用,但在IE7中有效,請問有什么解決方案嗎?

<script language="Javascript" type="text/javascript">
function swap(){ 
        if(document.getElementById('checkbox1').checked == true ){  
           document.getElementById('captionrow1').style.display = "none";
           document.getElementById('captionrow2').style.display = "inline";
            document.getElementById('show').style.display = "inline";

                        if (location.href.indexOf("CheckBox1=1") == -1)
                                location.href = "employees_commends1a.asp?CheckBox1=1";
         } 
   if(document.getElementById('checkbox1').checked == false ){  
            document.getElementById('captionrow1').style.display = "inline";
           document.getElementById('captionrow2').style.display = "none";
           document.getElementById('show').style.display = "none";
      } 
   }
</script>

確保復選框具有唯一的ID。此外,您的代碼還會更改位置=卸載頁面-我確信這是導致代碼無法正常工作的原因。

我建議這樣做:

window.onload=function() {
  var chk = document.getElementById('checkbox1');
  chk.checked=location.href.indexOf("CheckBox1=1") != -1
  chk.onclick=function() { 
    location = "employees_commends1a.asp?"+(this.checked?"CheckBox1=1":"CheckBox1=0");
  }
  swap();
}

function swap(){ 
  var checked = document.getElementById('checkbox1').checked;
  document.getElementById('captionrow1').style.display = (checked)?"none":"inline";
  document.getElementById('captionrow2').style.display = (checked)?"inline":"none";
  document.getElementById('show').style.display = (checked)?"inline":"none";
}

<input type="checkbox" id="checkbox1" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM