2011-11-05 61 views
1

下面是一個簡單的小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; 

    } 
} 

回答

4

不,如果這個名稱只有一個元素,那麼DOM會將它顯示爲元素而不是數組。

+0

好吧,嘿,這使得它更復雜一點..必須檢查,看它是否是一個元素或數組。我不知道我該怎麼做。 – Adam

+0

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

+0

@亞當 - 見:http://jsfiddle.net/VmfVq/1/ –