验证复选框

时间:2011-04-09 12:19:22

标签: javascript

您好
我有一个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或不是对象”

我可以在此功能中添加任何简单的东西吗?

也可以有人帮我检查一页上是否只有一个复选框?

提前致谢

2 个答案:

答案 0 :(得分:4)

我认为你依赖于某些浏览器的一个相当模糊(非官方)的功能,它允许你从文档中获取一个元素,就像它是一个属性一样。换句话说,你要去:

document.calDailyBlock

这是在文档中搜索变量calDailyBlock。相反,您应该使用标准化的getElementById

document.getElementById("calDailyBlock")

使用相同的方法获取selFilCheckBox

如果找不到calDailyBlockselFilCheckBox,则返回null。在你对它们进行length调用之前(这会给出错误),你应该检查一下是否有空,然后(我想)默默地失败(不做任何事情)。

答案 1 :(得分:1)

避免错误使用if:

if(document.calDailyBlock.selFilCheckBox) {
  for(var i = 0; i < document.calDailyBlock.selFilCheckBox.length; i++)  
  { … }
}