2010-01-04 2 views
1

나는 다음과 같은 코드를 사용 :재 입력 암호 확인이 작동하지

<script type="text/javascript"> 
function validate() { 
    if ((document.changepass.newpassword.value != '') && 
(document.changepass.retypenewpassword.value == 
document.changepass.newpassword.value)){ 
      document.changepass.retypenewpassword.blur(); 
      document.changepass.submit(); 

    } 
} 
</script> 

<form name="changepass" method="POST" action="changepassword.jsp" onsubmit="return validate();"> 

<table align="center"> 
    <tr> 
     <td>New Password:</td> 
     <td><input type="password" name="newpassword" size="20" 
      style="width: 145px" maxlength="10"></td> 
    </tr> 
    <tr> 
     <td>Retype New Password:</td> 
     <td><input type="password" name="retypenewpassword" size="20" 
      style="width: 144px" maxlength="10"></td> 
    </tr> 
    <tr> 
     <td><input type="submit" value="Change Password" name="operation" ></td> 
     <td><input type="reset"></td> 
    </tr> 
    </table> 
</form> 

을하지만 그때 타의 추종을 불허하는 항목을주는거야 때 또한이 유효성 검사 함수가 호출 받고 있지 않음을 의미하는 변한지고. PLZ이 오류에 확인하는 함수에서 false를 반환하지 않기 때문에

+0

당신은거야 101010 버튼을 사용하여 코드의 서식을 지정해야합니다. 나는 당신이 HTML 태그를 벗겨 내고 있다고 생각하고있다. –

+1

이것은 질문과 관련이 없지만 서버 측 코드가 동일한 제어 기능을 제공하는지 확인할 수 있습니다. Javascript 유효성 검사는 쉽게 건너 뛸 수 있으며 사용자는 신뢰할 수 없습니다. 논리가 틀린 경우 –

답변

2

<form>onsubmit 처리기가 반환 값을 찾고 있지만 validate 함수의 값이 제공되지 않습니다. 대신 기능에 submit()를 호출하면 (제출을 취소 할 함수가 false을 반환하는 경우, 즉 onsubmit="false"에 해당) 양식의 유효성을 검사하는 경우에 따라 true 또는 false를 반환해야합니다

function validate() 
{ 
    if ((document.changepass.newpassword.value != '') && (document.changepass.retypenewpassword.value != document.changepass.newpassword.value)) 
    { 
    // A password is given but it doesn't match 
    // Perhaps you want to alert() an error message here to tell the user why the form doesn't validate? 
    return false; 
    } 

    return true; 
} 
+2

'((document.changepass.newpassword.value == ')) || document.changepass.retypenewpassword.value! = document.changepass.newpassword.value))' –

3

당신의 형태는 상관없이 제출합니다 희망 로빈에

도움이됩니다. 현재에서

function validate() { 
    var d = document.changepass; 
    if((d.newpassword.value != '') && (d.retypenewpassword.value == d.newpassword.value)) { 
     return true; 
    } 
    return false; 
} 

, 당신은 validate()에 대한 반환 값을 지정하지, 그것은 항상 true 반환로 해석되므로 양식이 제출됩니다 : 그것은해야합니다. 함수에서 submit()에 전화 할 필요없이 모든 것이 정상이면 true를 반환합니다.

관련 문제