2014-10-25 1 views
0

I'am의 조치 = "타사 위치"에서 실행하는 방법. 이 양식에는 양식 데이터를 epay로 보내기위한 action 속성이 있습니다. 문제는이 양식 데이터를 epay로 보내기 전에 유효성을 검사해야한다는 것입니다. 대신에 유효성 검사 스크립트에서 양식 작업을 실행할 수있는 방법이 있습니까?지불 양식을 개발하고 검증 스크립트 PHP/jQuery를

양식 ID가 양식 jQuery를 사용하여 제출하고, 데이터의 유효성을 검사 시작 잡기 위해 사용되고있다. 시간에 대한

<form id="ajax-payment-form" action="url to payment company site"> 

감사

Troels

답변

0
이렇게 일반적인 방법은 형태가 유효하지 않은 경우 귀하의 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> 
+0

안녕, 당신의 응답을 주셔서 감사합니다. event.preventDefault()를 호출 할 때; $ ("# ajax-payment-form") 후 submit (function() {- 액션이 실행되고 있지 않습니다.) 좋은데,이 유효성 검사가 제대로 작동하면 어떤 함수를 호출해야합니까? ? – thar

+0

@thar : 제가 위에서 말했듯이, 중 * *'에서는 event.preventDefault을()'호출하지 않는 폼 요소에'submit'을, 또는 전화 (호출되지는 형태가 당신이 그것을 검증 한 이후에 제출 할 수 있습니다) (당신의'submit' 핸들러 내, 즉 다음과 같습니다'this.submit(); '  — 그러나 다시는 양식이 유효 할 때 단지 기본 동작을 방해하지 않는, 필요가 없습니다). –

0

당신이 제출 핸들러 내에서 false를 반환하면 양식이 제출되지 않습니다.

$('#ajax-payment-form').submit(function(){ 
    var isValid= true; 
    /* run validation code and set isValid = false if any conditions fail*/ 


    return isValid; 
});