我正在尝试验证一组两个性别单选按钮,但是收到错误。 我有以下内容:
它在itm.length上给出错误;说这是未定义的。
function validateSex(itm, elmt) {
var dom = document.getElementById(elmt);
var numChecked = 0;
for (var index = 0; index < itm.length; index++) {
if (itm[index].checked) {
numChecked++;
break;
}
}
// if sex not selected display error message.
if (numChecked === 0) {
dom.innerHTML = "Please select the sex.";
return false;
}else {
dom.innerHTML = "";
return true;
}
}
&#13;
<table>
<tr>
<td>
<input type = "radio" name = "sex" value= "male"
title = "Select sex"
onchange = "validateSex(this, 'msgSex')"/>Male
<input type = "radio" name = "sex" value= "female"
title = "Select sex"
onchange = "validateSex(this, 'msgSex')"/>Female
</td>
<td id = "msgSex"></td>
</tr>
<table>
&#13;
答案 0 :(得分:0)
如果您需要length属性,则应在document.getElementsByName('sex')
中使用this
而不是validateSex(this, 'msgSex')
。
但你不能像这样验证单选按钮。