2012-01-24 3 views
0

두 가지 양식 제출 방법의 차이점은 무엇입니까?두 가지 양식 제출 방법의 차이점

<form method="post" action="gert.php" onsubmit="return validate()"> 
    <p>Enter an email address:</p> 
    <input id='email'> 
    <button type='submit' id='validate'>Validate!</button> 
</form> 

<form method="post" action="gert.php" onSubmit='validate(); return false;'> 
    <p>Enter an email address:</p> 
    <input id='email'> 
    <button type='submit' id='validate'>Validate!</button> 
</form> 

나는 양식을 제출하고 양식을 작성하지 않은 경우 자바 스크립트 validate() 기능에 false을 반환에 대한 첫 번째를 사용하고 있습니다. 지금 막 다른 웹 사이트에서, 나는 두 번째가 사용되는 것을 보았습니다. 차이점을 파악할 수 없으므로, 내가 일을 할 때 여전히 오래된 방법을 사용하고 있는지, 아니면 둘 다 똑같은 것을 의미하는지 알고 싶습니다. 두 번째 방법으로 생각하고 있었는데 thisform.submit 문이 실행될 때만 양식이 제출됩니다. 양식을 실행할 때이 사실을 알게되었지만 여전히 두 가지의 주요 차이점을 알고 싶습니다.

답변

2

validate()의 응답이 truthy 인 경우에만 첫 번째 예가 제출됩니다.

두 번째 예는 양식을 (validate() 전화) 유효성을 검사하지만 falsy 값이 기본 브라우저 동작을 취소 할 이벤트 핸들러 함수로 다시 전송 될 때이 제출되지 않습니다.

0

validate()true 인 경우 첫 번째 것은 제출됩니다. 둘째로, validate()이 반환 되더라도 양식은 제출되지 않습니다. (그러나 양식은 validate 함수로 제출할 수 있습니다.)

관련 문제