您好
我有一个JS函数,说
for(var i = 0; i < document.calDailyBlock.selFilCheckBox.length; i++)
{
if(document.calDailyBlock.selFilCheckBox[i].checked)
{
filteredInitId += document.calDailyBlock.selFilCheckBox[i].value + ",";
alert(filteredInitId);
isProjCheck = true;
}
}
document.calDailyBlock.filteredComId.value = filteredInitId;
如果页面上没有复选框,我尝试单击调用此函数的Filter按钮,我收到错误“document.calDailyBlock.selFilCheckBox.length'为null或不是对象”
我可以在此功能中添加任何简单的东西吗?
也可以有人帮我检查一页上是否只有一个复选框?
提前致谢
答案 0 :(得分:4)
我认为你依赖于某些浏览器的一个相当模糊(非官方)的功能,它允许你从文档中获取一个元素,就像它是一个属性一样。换句话说,你要去:
document.calDailyBlock
这是在文档中搜索变量calDailyBlock
。相反,您应该使用标准化的getElementById
:
document.getElementById("calDailyBlock")
使用相同的方法获取selFilCheckBox
。
如果找不到calDailyBlock
或selFilCheckBox
,则返回null。在你对它们进行length
调用之前(这会给出错误),你应该检查一下是否有空,然后(我想)默默地失败(不做任何事情)。
答案 1 :(得分:1)
避免错误使用if:
if(document.calDailyBlock.selFilCheckBox) {
for(var i = 0; i < document.calDailyBlock.selFilCheckBox.length; i++)
{ … }
}