使用JQuery在javascript中通过1个操作提交两个表单

使用JQuery在javascript中通过1个操作提交两个表单,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,所以这有点复杂。我有一个表格,我需要将结果提交到两个不同的地方 首先是一个ajax调用,我将结果发送到一个PHP页面。第二个是提交表格,一切照旧 以下是我的javascript: <script type="text/javascript"> $(function() { $("#requestaction").click(function() { var fname = $("input#first_name").val(); var lnam

所以这有点复杂。我有一个表格,我需要将结果提交到两个不同的地方

首先是一个ajax调用,我将结果发送到一个PHP页面。第二个是提交表格,一切照旧

以下是我的javascript:

<script type="text/javascript">

  $(function() {
    $("#requestaction").click(function() {
      var fname = $("input#first_name").val();
      var lname = $("input#last_name").val();
      var email = $("input#email").val();
      var phone = $("input#phone").val();
      var oid = $("input#oid").val();
      var retURL = $("input#retURL").val();

      var dataString = '&email=' + email + '&phone=' + phone + '&oid=' + oid + '&retURL=' + retURL;
      //alert (dataString);return false;
      $.ajax({
          type: "POST",
          url: "http://www.myurl.com/custom/callgateway.php?first_name=" + fname + "&last_name=" + lname,
          data: dataString
      });

      $("#requestaction").click(function() {
          $("#oid").delay(1000);
          $("#nashform").submit();
      });

    return false;
    });

  });
    </script>

$(函数(){
$(“#请求操作”)。单击(函数(){
var fname=$(“输入名”).val();
var lname=$(“输入#姓氏”).val();
var email=$(“输入电子邮件”).val();
var phone=$(“输入电话”).val();
变量oid=$(“输入#oid”).val();
var retURL=$(“输入#retURL”).val();
var dataString='&email='+email+'&phone='+phone+'&oid='+oid+'&retURL='+retURL;
//警报(数据字符串);返回false;
$.ajax({
类型:“POST”,
url:“http://www.myurl.com/custom/callgateway.php?first_name=“+fname+”&last_name=“+lname,
数据:dataString
});
$(“#请求操作”)。单击(函数(){
延迟(1000元);;
$(“#表格”).submit();
});
返回false;
});
});
因此,我希望ajax调用将结果发送到该页面。然后我需要几秒钟的延迟,或者说需要多长时间才能完成,我需要提交带有#nashform ID的表单。看起来我可以分别实现这两种功能,但当我同时尝试这段代码时——只有#nashform代码完全通过,ajax永远不会有机会


有什么建议吗

将表单提交放入ajax调用的成功回调中:

$.ajax({
    type: "POST",
    url: "http://www.myurl.com/custom/callgateway.php?first_name=" + fname + "&last_name=" + lname,
    data: dataString,
    success: function(response) { $("#nashform").submit(); }
    });

ajax()
返回后,您需要一个回调函数来提交表单。

为什么不将
nashform
的提交添加到ajax帖子完成后进行的回调中呢?这样,您就不会在中途或事后中断AJAX传输

<>你也可以考虑使用Ajax制作两个帖子…两个帖子同时发布,一旦两个帖子都完成,页面可能会更新(甚至重定向),给用户一种错觉,认为数据是正常提交的

$.ajax({
type: "POST",
url: "http://www.myurl.com/custom/callgateway.php?first_name=" + fname + "&last_name=" + lname,
data: dataString,
success: thesubmitfunction
});

子提交函数中提交表单,当ajax调用成功完成时将调用while

该死,这么快,甚至有一个代码示例+先生,给你一个!AJ,你只有这么多时间回答jquery问题:)非常感谢,这太完美了!