2013-06-22 3 views
0

자바 스크립트에서 CAPTCHA를 코딩하는 중이고 제대로 작동하려면 문의 양식 유효성 검사를 받으려고합니다. 거의 다 왔으므로 보안 문자 입력란에 입력 할 때까지 양식이 제출되지 않지만 CAPTCHA 코드를 올바르게 입력해도 오류 메시지가 계속 표시됩니다.JavaScript에서 보안 문자를 올바르게 확인하는 방법은 무엇입니까?

<script> 
function ValidateContactForm() 
{ 
var name = document.ContactForm.name; 
var phone = document.ContactForm.phone; 
var code = document.ContactForm.code; 

    if (name.value == "") 
{ 
    window.alert("Please enter your name."); 
    name.focus(); 
    return false; 
} 

if (phone.value == "") 
{ 
    window.alert("Please enter a valid phone number.."); 
    phone.focus(); 
    return false; 
} 

if (code.value == "") 
{ 
    window.alert("Please enter the code as displayed on screen."); 
    code.focus(); 
    return false; 
    } 
    else if (code.value != "") 
{ 
     window.alert("Your code does not match. Please try again."); 
    code.focus(); 
    return false; 
} 

else { 
    return true; 
} 

return true; 
} 
</script> 

모든 도움을 주시면 감사하겠습니다. 감사.

+0

문제가 무엇인지 코드에서 알기 란 정말 불가능합니다. 어떤 오류 메시지가 나타 납니까? 누구에게서? 어디에? –

+0

연락처 양식을 만들고 CAPTHCA 기능이 작동하는지 테스트하고 있습니다. 보안 문자 코드를 올바르게 입력 했는데도 오류 코드 "Your code does not match ..."가 표시됩니다. 지금까지는 코드가 올바르게 입력되었는지 여부를 알 수없는 방식으로 프로그래밍했으며 오류 메시지를 항상 제공합니다. 문제가되는 원인은 else (code.value! = "")라고 생각합니다. –

+0

코드의 값을' ""로 체크하고 있습니다. 빈 문자열이 아니라면 그 메시지를 출력하고 false를 반환합니다. 나는 의도적이지 않은가? –

답변

0

확인이 라인은, 문제는 여기에 있습니다 :

if (code.value == "") 
{ 
    window.alert("Please enter the code as displayed on screen."); 
    code.focus(); 
    return false; 
} 
else if (code.value != "") 
{ 
    window.alert("Your code does not match. Please try again."); 
    ^^^^^^^^^^^^^ 
    code.focus(); 
    ^^^^^^^^^^^^^ 
    return false; 
    ^^^^^^^^^^^^^ 
} 
else { 

    return true; 
} 

이 코드는 때마다 false를 돌려줍니다.

관련 문제