2014-10-11 4 views
-1

두 개의 성 (sex) 라디오 버튼 그룹을 확인하려고하는데 오류가 발생했습니다. 다음과 같은 메시지가 표시됩니다.자바 스크립트 : 라디오 버튼 확인

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

답변

0

당신은 validateSex(this, 'msgSex')document.getElementsByName('sex') 대신 this을 사용해야합니다. 이렇게하면 라디오 버튼을 확인할 수 없습니다.