3

我在一个页面上有 2 个复选框。有一个表格单元格,每个单元格都在自己的行中。执行 document.getElementById('chk1_FEAS~1005') 返回元素,但 document.getElementById('chk5_STG2~1005') 为空。发生这种情况的原因是什么?(我在 IE 8 中测试)。

<input id="chk1_FEAS~1005" value="JobStages###StageCode~JobCode###FEAS~1005" onclick="addRemoveRow(this.value,this.checked)" style="border-width:0px;padding:1px;margin:0px;height:14px;"  type="checkbox" />

<input id="chk5_STG2~1005" value="JobStages###StageCode~JobCode###STG2~1005" onclick="addRemoveRow(this.value,this.checked)" style="border-width:0px;padding:1px;margin:0px;height:14px;"  type="checkbox" />
4

4 回答 4

11

您的 ID 包含无效字符:

ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_") , 冒号 (":") 和句点 (".")。

更多信息在这里

于 2009-08-12T14:21:31.697 回答
1
document.getElementById('hk5_STG2~1005') 

应该

document.getElementById('chk5_STG2~1005') 

:-)

于 2009-08-12T14:21:06.393 回答
0

查看您的示例,这是一个错字,第二项应该是,document.getElementById('chk5_STG2~1005')

另外,我建议删除 ~ 字符,因为它对 id 无效。

于 2009-08-12T14:21:54.817 回答
0

对于它的价值,我document.getElementById在 IE8 中使用复选框时遇到了类似的问题。尝试将此标签添加到您的头部:-

<meta http-equiv="X-UA-Compatible" content="IE=7" />

这将强制 IE8 进入 IE7 兼容模式。它对我来说是一种解决方法,直到我找出真正的问题为止。

于 2009-08-12T14:52:01.303 回答