2014-02-05 2 views
0

성별 라디오 버튼의 유효성을 검사하는 중입니다. 선택을하지 않으면 작동하지만, 사람이 선택 되더라도 여전히 "성별은 선택되지 않았습니다"라고 말합니다.이 문제를 해결하는 방법을 아는 사람이 있습니까?자바 스크립트 라디오 버튼 문제

내가 가지고 ..

if (!genderMaleRadioButton.checked || !genderFemaleRadioButton.checked) { 
    errorMessage = errorMessage + "Gender not selected\n"; 
} 

//displays error messages 
if (errorMessage) { 
    alert(errorMessage); 
} 

//if all information is valid, submission is a success. 
else if(!errorMessage) {  
    alert("Submission successful, thank you " + firstName.value); 
} 
+0

안녕하세요. 나는 당신의 코드를 컨벤션과 더 잘 어울리게하려고 시도했다. (나는 당신이 따르는 것을 강력하게 권장한다. 그들은 특정 방식으로 보일뿐만 아니라 일반적인 실수를 예방한다.) 나는 'else if'위의 주석을 이동하지 않았지만 if의 닫는 중괄호와 같은 줄에 else를 넣을 것을 권합니다. "} else if (! errorMessage) {" – iandotkelly

답변

2

당신이 말하는 "남성 버튼을 누르지 또는 여성 버튼을 누르지 않으면, 다음 오류 메시지를 표시합니다."
if(!genderMaleRadioButton.checked && !genderFemaleRadioButton.checked)에 첫 번째 줄, 그것은 말할 수
변경 "남성 버튼을 누르지과 여성의 버튼을 누르지 않으면, 다음 오류 메시지를 표시합니다." 당신은 의미 "또는"하는 ||을 사용하고 & &

if(!genderMaleRadioButton.checked && !genderFemaleRadioButton.checked) 
{ 
    errorMessage = errorMessage + "Gender not selected\n"; 
} 
+0

아, 알았어요! 답장, 신인상 실수를 가져 주셔서 감사합니다 : p는 이제 의미가 있습니다. – Atlas182

+0

귀하의 질문이 – Fletcher91

+1

@ Atlas182 인 경우 모든 사람이 실수를 저지르면 답을 표시하십시오. 내가 링크 태그에 오타가 있다는 것을 알았을 때 왜로드되지 않는지를 알기에 스타일 시트에서 10 분을 보냈습니다. – Atutouato

1

당신은 사용해야합니다. "또는"부울 연산자는 부울 값 중 하나 이상이 0이 아닌 경우 true을 반환합니다.

코드 불분명만을 위해 인지 확인하는 것이 좋습니다 ("not nots"확인은 많은 정보를 다룰 때 혼란 스러울 수 있습니다.) 귀하의 경우에는 중요하지 않습니다. 많이 있지만, 예외를 먼저보고 예상되는 흐름이 항상 지속되는 방식으로 작성된 큰 프로그램을 상상해보십시오.).