2014-10-11 127 views
-1

我试图验证组的两个性别单选按钮,但我得到一个错误。 我有以下几点:的Javascript:验证单选按钮

这是给在itm.length错误;说它是未定义的。

function validateSex(itm, elmt) { 
 
\t var dom = document.getElementById(elmt); 
 
\t var numChecked = 0; 
 

 
\t for (var index = 0; index < itm.length; index++) { 
 
\t \t \t if (itm[index].checked) { 
 
\t \t \t numChecked++; 
 
\t \t \t break; 
 
\t \t } 
 
\t } 
 

 
\t // if sex not selected display error message. 
 
\t if (numChecked === 0) { 
 
\t \t dom.innerHTML = "Please select the sex."; 
 
\t \t return false; 
 
\t }else { 
 
\t \t dom.innerHTML = ""; 
 
\t \t return true; 
 
\t } 
 
}
<table> 
 
\t <tr> 
 
\t \t <td> 
 
\t \t \t <input type = "radio" name = "sex" value= "male" 
 
\t \t \t \t title = "Select sex" 
 
\t \t \t \t onchange = "validateSex(this, 'msgSex')"/>Male 
 
\t \t \t <input type = "radio" name = "sex" value= "female" 
 
\t \t \t \t title = "Select sex" 
 
\t \t \t \t onchange = "validateSex(this, 'msgSex')"/>Female 
 
\t \t </td> 
 
\t \t 
 
\t \t <td id = "msgSex"></td> 
 
\t </tr> 
 
<table>

+0

做出的jsfiddle更多理解 – prog1011 2014-10-11 04:23:37

回答

0

,如果你需要的长度属性应该在validateSex(this, 'msgSex')使用document.getElementsByName('sex')代替this。 但你不能确认这样的单选按钮。