作者gyID (gy的ID,殺神的氣魄)
看板Ajax
標題[問題] 清除 checkbox 在 IE 與 FF 不同
時間Thu Nov 3 14:32:26 2011
用動態生成的CheckBox,放在很多層的Table 裡面
我以為用getElementsByName可以萬無一失,
var list = document.getElementsByName("addList");
alert(list.length);
for (var ii = 0 ; ii <list.length ; ii++) {
list[ii].checked = false;
}
結果只在FF 可以正常運作
在IE 「list.length 」變成0 ,所以不能正常運作
必須改成
var xxForm = eval(document.forms[0]);
for (i = 0; i < xxForm.elements.length; i++) {
if ("checkbox" == xxForm.elements[i].type &&
"addList" == xxForm.elements[i].name &&
xxForm.elements[i].checked == true &&
"undefined" != xxForm.elements[i].value) {
xxForm.elements[i].checked = false;
}
}
就可以正常運作,
請問這是為什麼呢?
※ 編輯: gyID 來自: 59.120.175.188 (11/03 14:33)
3F:→ gs1458:你下面xxForm的版本跟我寫法類似,它是掃描xxForm底下 11/04 06:18
4F:→ gs1458:所有存在的checkbox,然後對它做false設定。 11/04 06:18
5F:→ gs1458:雖然不知道你eval是用來幹嘛的,但建議少用... 11/04 06:30