이렇게 일반적인 방법은 형태가 유효하지 않은 경우 귀하의
submit
이벤트 핸들러
false
을 반환 가진 (또는
e.preventDefault();
를 호출)입니다
및 하지 유효한 경우 false
(또는 preventDefault
)으로 회신하십시오. 기본 동작을 취소하지 않으면 양식을 제출할 수 있습니다.
당신을 위해 작동하지 않습니다 어떤 이유로, 당신은 폼의 submit
기능을 사용할 수있는 경우 : 양식을 제출
$("#ajax-payment-form")[0].submit();
또는
document.getElementById("ajax-payment-form").submit();
,
어떤을 트리거하지 않고 양식 제출 핸들러. (프로그래밍 방식으로 양식을 제출하는 경우 이미 유효성을 검사했다는 이론입니다.)
DOM 요소에서 직접 submit
을 호출합니다. jQuery를 사용하면 ($("#ajax-payment-form").submit();
) 제출 이벤트 핸들러 이이됩니다. 예 (스택 조각이 ... 양식의 제출을 허용, 그렇게하지 않음)Live Copy
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<meta charset="utf-8">
<title>Example</title>
</head>
<body>
<!-- Note the onsubmit="return false;" to prevent form
submission if the handler is triggered -->
<form id="the-form" action="http://google.com/search" target="_blank" onsubmit="return false;">
<input type="text" name="q" value="kittens">
</form>
<button id="via-jquery">Submit with jQuery</button>
<button id="via-DOM">Submit with DOM</button>
<script>
(function() {
"use strict";
$("#via-jquery").on("click", function() {
$("#the-form").submit();
});
$("#via-DOM").on("click", function() {
$("#the-form")[0].submit();
});
})();
</script>
</body>
</html>
안녕, 당신의 응답을 주셔서 감사합니다. event.preventDefault()를 호출 할 때; $ ("# ajax-payment-form") 후 submit (function() {- 액션이 실행되고 있지 않습니다.) 좋은데,이 유효성 검사가 제대로 작동하면 어떤 함수를 호출해야합니까? ? – thar
@thar : 제가 위에서 말했듯이, 중 * *'에서는 event.preventDefault을()'호출하지 않는 폼 요소에'submit'을, 또는 전화 (호출되지는 형태가 당신이 그것을 검증 한 이후에 제출 할 수 있습니다) (당신의'submit' 핸들러 내, 즉 다음과 같습니다'this.submit(); ' — 그러나 다시는 양식이 유효 할 때 단지 기본 동작을 방해하지 않는, 필요가 없습니다). –