【发布时间】:2012-10-29 05:20:02
【问题描述】:
我有一个名为“tags”的动态创建的复选框列表,我使用 javascript 循环遍历它以确保仅选中 1 并获取值。如果由于某种原因此复选框列表只有一项,我的脚本将不会查看它。当我提醒标签的长度时,我得到了未定义。
var total=[];
for (var i=0; i < document.form1.tags.length; i++){
if(document.form1.tags[i].checked==true){
total.push(document.form1.tags[i].value);
}
}
if(total.length==0){
alert("Please select a product to edit.");
}else if (total.length>1){
alert("Please select only one product to edit.");
}else{
document.location = "go somewhere";
}
【问题讨论】:
-
.tags在只有一个复选框时不是数组,它包含对一个复选框的直接引用。只有当有多个同名复选框时,它才会成为节点列表。您应该始终查看开发人员控制台,您会在那里看到错误。 -
@Esailija 使用
querySelectorAll或 jQuery 的另一个原因。
标签: javascript forms checkbox