Javascript array.length元素不能用少于2个元素工作?

问题描述:

下面是一个简单的小javascript函数,它使我的表单(myform)中的所有复选框(视频)的数组成为一个整数,并构建另一个被选中的复选框数组。除非表单中只有1个复选框,否则它工作的很好。在这种情况下,框是未定义的。不应该与document.myform.video.length一起工作1吗?Javascript array.length元素不能用少于2个元素工作?

function toggle(main) { 
    boxes = document.myform.video.length; 
    alert(boxes); 
    var videos = []; 
    for (i=0; i<boxes; i++) { 
      document.myform.video[i].checked = main.checked; 

    } 
} 

不,如果这个名称只有一个元素,那么DOM会将它显示为元素而不是数组。

+0

好吧,嘿,这使得它更复杂一点..必须检查,看它是否是一个元素或数组。我不知道我该怎么做。 – Adam

+0

演示:http://jsfiddle.net/VmfVq/ –

+0

@亚当 - 见:http://jsfiddle.net/VmfVq/1/ –