作者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