jquery - paypal前提交表单值

标签 jquery ajax forms paypal paypal-ipn

我试图覆盖下面的 Paypal 提交表单以在提交之前运行一些 ajax 但由于某种原因,直到提交实际表单之前一切都在工作。

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@website.com">
    <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>
    $(function(){
        $('#submitPaypal').on("click", function(e){
            event.preventDefault();
            tailor();
        });
    });
</script>  

应该运行的 Ajax 然后提交上面的表单

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

任何关于为什么 $('#payWithPaypal').submit(); 不起作用的见解将不胜感激

最佳答案

绑定(bind)到按钮点击的 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>

关于jquery - paypal前提交表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19041400/

相关文章:

javascript - JQuery 视差效果。 OnScroll 事件非常滞后

javascript - Google Apps 脚本 Web 应用程序 AJAX、jQuery、JSON?

php - 轮询器中的 Laravel 和 AJAX 偶发 401 错误

html - Bootstrap 表格和列不对齐

javascript - 尝试在 React 组件中上传表单中的 PDF 文件,但在使用 setFormData 时获取 {}

drupal - 将选择/选项列表添加到表单中

javascript - 在没有滚动条的情况下滚动 div 内容

javascript - 使用 jQuery 弹出窗口?

javascript - jquery 使用滚动删除类类型

php - jQuery $.post 方法 AJAX 不起作用