开发者

Validation for checkboxes

Hello

I have a JS funct开发者_StackOverflow社区ion which says

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;  

When there are no checkboxes on the page and I try to click on Filter button which calls this function, I receive an error "document.calDailyBlock.selFilCheckBox.length' is null or not an object"

Is there any simple thing which I can add in this function ?

Also can anyone help me how to check if there is only one checkbox on one page ?

Thanks in advance


I think you are relying on a fairly obscure (non-official) feature of some browsers which lets you get an element from the document as if it were an attribute. In other words, you are going:

document.calDailyBlock

This is searching the document for a variable calDailyBlock. Instead, you should use the standardised getElementById:

document.getElementById("calDailyBlock")

And use the same approach for getting selFilCheckBox.

This will return null if calDailyBlock or selFilCheckBox are not found. Before you go calling length on them (which gives that error), you should check to see if you got back null, and then (I suppose) fail silently (don't do anything).


to avoid the error use an if:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜