我正在嘗試使用JavaScript將單擊事件附加到複選框。下面顯示的是HTML和JS。javascript:getElementById在IE中的問題
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<input type="hidden" name="caution_c" value="0">
<input type="checkbox" id="caution_c" name="caution_c" value="1" tabindex="120">
<script type="text/javascript">
var cb = document.getElementById('caution_c');
cb.onclick = function() {
alert(1);
}
</script>
</body>
</html>
問題是,在IE中,點擊事件不會觸發。我已經縮小了問題的位置。問題是在複選框之前有一個隱藏的輸入,並且這兩個元素具有相同的名稱。我不知道爲什麼這會導致問題(畢竟,我使用getElementById,隱藏的元素甚至沒有ID)。
是否有這種類型的行爲的有效原因(IE瀏覽器。在Firefox中正常工作...一如既往:()還有一個很好的解決方法(我可以做document.getElementsByName('caution_c 「)[1]但我不想...)
哇......這只是瘋了! – 2010-09-14 11:32:18
@Guarav:歡迎來到IE。 – annakata 2010-09-14 11:34:33
@Guarav - 瘋狂?是的。這是你的IE瀏覽器。你爲什麼認爲如此之多的Web開發人員如此強烈地憎恨微軟?這個小故障只是冰山一角。 :(希望新的IE版本9將會改進一些東西,但它不會讓我們都不必支持那些易碎的舊版本的IE。 – Spudley 2010-09-14 11:37:13