我知道我必须在这里做一些蠢事。只需要第二眼。
验证我的收音机盒是否已被检查:
<input type="radio" name="cont_amt" id="cont_amt" value="1000">
//alert(theForm.cont_amt.value);
var con_optLength = theForm.cont_amt.length;
var chkd="";
for(var i = 0; i < con_optLength; i++) {
if(theForm.cont_amt[i].checked) {
chkd=theForm.cont_amt[i].value;
}
}
if ( chkd == "" ) {
reason += "\t" + "Must select a contribution option" + "\n";
}
我总是打警,因为我的length
总是未定义。
答案 0 :(得分:1)
那是因为你只有一个名为“cont_amt”的单选按钮。为属性“length”添加至少一个以使其可用。
答案 1 :(得分:0)
这是因为theForm.cont_amt
是一个对象而不是一个数组。
您可以在行动here中看到它。
答案 2 :(得分:0)
您应该使用document.getElementsByName
。
var con = document.getElementsByName('cont_amt');
var chkd = null;
for(var i = 0; i < con.length; i++) {
if(con[i].checked) {
chkd = con[i].value;
}
}
这是一个nice jsFiddle Demo看到我没有说谎。
注意:我怀疑你这样做是因为你有几个像这样的单选按钮。如果是这种情况,则应删除ID属性,因为它在文档中必须是唯一的。