2010-04-28 41 views
0

在我的表單中,我的複選框元素的名稱是onSite[]複選框檢查器JavaScript不起作用。逃逸?

我做了一個簡單的JavaScript來檢查他們點擊一下。

function checkAll(field) 
{ 
for (i = 0; i < field.length; i++) 
    field[i].checked = true ; 
} 

而在調用函數的HTML按鈕。

<input type="button" name="CheckAll" value="All" onClick="checkAll(document.sharepage.onSite[])"> 

遺憾的是它不工作,因爲我做了檢查元素的數組,並[]迷惑我的JS。
你知道解決它的任何解決方案嗎?

回答

1

嘗試從HTML分離onclick處理程序。

document.getElementById("bt1").onclick = function(){ 
    CheckAll(); 
}; 

function CheckAll() 
{ 
    var elems = document.forms.sharepage.elements['onSite[]']; 
    var len = elems.length; 

    for (i = 0; i < len; i++) 
    { 
    elems[i].checked = true; 
    } 
} 

+0

爲什麼?........... – 2010-04-28 11:54:18

+0

自一個很好的做法是使用不顯眼的JavaScript。 – rahul 2010-04-28 12:11:02

+0

更改爲不顯眼的方法並沒有解決OP的問題,並且在這種情況下有一個主要缺點:例如,如果您要在文檔加載後附加此點擊處理程序,這是常見的情況,用戶可能是能夠在附加事件處理程序之前點擊該按鈕,因此不會遇到所需的行爲。 – 2010-04-28 23:29:49