Tag Archives: Checkbox

javascript 處理 checkbox 問題

印象中一直覺得 checkbox 很難搞,但是又不太清楚問題在那,今天終於知道原因了。關鍵在於處理的是單一 checkbox 或是多個 checkbox,舉個例子:

<form name=”myform”>

<input type=”checkbox” name=”food” value=”cake”>

<input type=”checkbox” name=”food” value=”noodle”>

</form>

要把 2 個 checkbox 都勾選話通常都是利用以下 javascript code

var checkbox=document.forms[‘myform’].food;

for(i=0;i<checkbox.length;i++) {

checkbox[i].checked=true;

}

但是當 form 只有1個 checkbox 時就會出錯,因為當只有1個 checkbox 時第一行 javascript 取得的是一個物件, 而不是物件陣列,只要執行到 checkbox.length 就會有 undefined 之類的錯誤,比較完善的寫法如下:

var checkbox=document.forms[‘myform’].food;

if ( checkbox.length != null ) {

for(i=0;i<checkbox.length;i++) {

checkbox[i].checked=true;

} else {

checkbox.checked=true;

}

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 4.00 out of 5)
Loading...