Javascript 复选框的验证

Javascript 复选框的验证,javascript,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(fil

你好
我有一个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;  
for(变量i=0;i
当页面上没有复选框并且我尝试单击调用此函数的筛选器按钮时,我收到一个错误“document.calDailyBlock.selFilCheckBox.length”为null或不是对象

有什么简单的东西可以添加到这个函数中吗

还有谁能帮我检查一下一页上是否只有一个复选框


提前感谢

为避免错误,请使用if:

if(document.calDailyBlock.selFilCheckBox) {
  for(var i = 0; i < document.calDailyBlock.selFilCheckBox.length; i++)  
  { … }
}
if(document.calDailyBlock.selFilCheckBox){
对于(var i=0;i
我认为您依赖于某些浏览器的一个相当模糊(非官方)的功能,它可以让您从文档中获取元素,就像它是一个属性一样。换句话说,您将:

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

document.getElementById("calDailyBlock")
并使用相同的方法获取
selFilCheckBox

如果未找到
calDailyBlock
selFilCheckBox
,则返回null。在对它们调用
length
之前(这会导致错误),应该检查是否返回null,然后(我想)默默地失败(不要做任何事情)