2013-09-27 1 views
0

제출하기 전에 일부 아약스를 실행하려면 아래의 양식을 paypal 재정의하려고하지만 어떤 이유로 모든 실제 양식을 제출할 때까지 작동합니다.paypal 전에 양식 값 제출

페이팔 양식

<form name="_xclick" id="payWithPaypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 
    <input type="hidden" name="cmd" value="_xclick"> 
    <input type="hidden" name="business" value="[email protected]"> 
    <input type="hidden" name="currency_code" value="USD"> 
    <input type="hidden" name="item_name" value="Item Name Here"> 
    <input type="hidden" name="amount" value="12"> 
    <input type="hidden" name="return" value="http://www.website.com"> 
    <input type="hidden" name="notify_url" value="http://www.website.com/ipn.php"> 
    <input type="submit" id="submitPaypal" class="mailsubmit" value="Pay Now" border="0" name="submit"> 
</form> 

실행 한 후 위의 양식

<script type="text/javascript"> 
     function tailor(){ 
      $.ajax({ 
       url: "info.php", 
       type: "POST", 
       data: {NAME:"test"}, 
       success: function(data){ 
        $('#payWithPaypal').submit(); 
       } 
      }); 
     } 
    </script> 
,536를 제출해야 제출 버튼

<script> 
    $(function(){ 
     $('#submitPaypal').on("click", function(e){ 
      event.preventDefault(); 
      tailor(); 
     }); 
    }); 
</script> 

Ajax를 재정의

이유에 대한 통찰력을 크게 얻으실 수 있습니다.

답변

-1

마지막으로 이유는 무엇인지 모르겠지만 이유는 무엇입니까? 태그를 사용하면됩니다. 누구나 이것이 내가 알기 쉬운 이유를 알고 있다면

4

event.preventDefault(); 버튼 클릭에 바인딩되어 있어도 양식 제출을 막을 수 없습니다. 이것이 제출 단추가 양식 외부에있는 경우에만 .ajax()이 작동하는 이유입니다.

나는이 대신 같은 것을

권하고 싶습니다 :

<script type="text/javascript"> 

$('#payWithPaypal').submit(function(e) { 

    var self = this; 

    e.preventDefault(); 

    $.ajax({ 
     url: 'info.php', 
     type: 'post', 
     data: $(':input', self), 
     success: function(json) { 
     self.submit(); 
     } 
    }); 
}); 

</script>