Jquery Cakephp一次发送多个表单在mozilla上不起作用

Jquery Cakephp一次发送多个表单在mozilla上不起作用,jquery,forms,cakephp,form-submit,mozilla,Jquery,Forms,Cakephp,Form Submit,Mozilla,我一页有两张表格。我需要一次点击就提交表格 我使用以下代码: 表格: 它在chrome上可以正常工作,但在mozilla上不行。 谁能帮帮我吗。提前谢谢。您的解决方案很差 您只需要一张表格 您需要包装(序列化)表单[paymentGateway],然后 将请求发送到支付网关 那么当你得到结果的时候,好吗 将数据保存到数据库中 $("#submit2").click(function () { //wrap your form once $data = $("#addToDB").se

我一页有两张表格。我需要一次点击就提交表格

我使用以下代码:

表格:

它在chrome上可以正常工作,但在mozilla上不行。
谁能帮帮我吗。提前谢谢。

您的解决方案很差

  • 您只需要一张表格
  • 您需要包装(序列化)表单[paymentGateway],然后
  • 将请求发送到支付网关
  • 那么当你得到结果的时候,好吗
  • 将数据保存到数据库中

    $("#submit2").click(function () {
       //wrap your form once
       $data = $("#addToDB").serialize();
    
        $.post($("#paymentGateway").attr("action"), $data,
          function (firstresult) {
              //if Payment Gateway result is correct 
              if (firstresult==OK){
                   //then save it into Database
                   $.post($("#addToDB").attr("action"), $data,
                   function (secondresult) {
                          if (secondresult) {
                                alert('Payment Successful');
                          }
                    });
              }
          });
    });
    

  • 首先,在第二个
    $中使用
    $(“#addToDB”).serialize()
    。post
    而不是
    $(“#paymentGateway”).serialize()
    。你能提供表格HTML和你得到的错误吗?@Zudwa我已经更新了我的问题。我没有得到任何错误。似乎只提交了1个表单。您正在尝试向另一个域发出ajax请求。这是由于安全原因而受到限制的。您可以使用JSONP请求使其工作。请注意,您只能发出GET请求,不能进行POST。不要忘记在
    中防止单击时发生默认事件。click()
    ,否则除了ajax调用之外,表单也会正常提交。您可以在这里阅读关于发出JSONP请求的内容。@Zudwa嗨,我试着理解您的解释。但是我没有明白。我以前从未使用过JSONP。你能给我举个例子吗?uat.pbbank.com是你的域名吗?我是说,你在开发它的后端吗?
    $(document).ready(function () {
            $("#submit2").click(function () {
                $.post($("#addToDB").attr("action"), $("#addToDB").serialize(),
                  function () {
                      alert('Add to Database submitted');
                  });
    
                $.post($("#paymentGateway").attr("action"), $("#addToDB").serialize(),
                  function () {
                      alert('Payment Gateway submitted');
                  });
            });
        });
    
    $("#submit2").click(function () {
       //wrap your form once
       $data = $("#addToDB").serialize();
    
        $.post($("#paymentGateway").attr("action"), $data,
          function (firstresult) {
              //if Payment Gateway result is correct 
              if (firstresult==OK){
                   //then save it into Database
                   $.post($("#addToDB").attr("action"), $data,
                   function (secondresult) {
                          if (secondresult) {
                                alert('Payment Successful');
                          }
                    });
              }
          });
    });