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

Ell*_*iot 0 javascript forms ajax jquery

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

第一个是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>
Run Code Online (Sandbox Code Playgroud)

所以我想要发生的是ajax调用将结果发送到该页面.然后我想要几秒钟的延迟,或者需要很长时间才能完成,我希望提交#nashform ID的表单.似乎我可以让它们分开发生,但是当我同时尝试这个代码时 - 只有#nashform代码完全通过,ajax永远不会有机会.

有什么建议?

Fos*_*sco 6

将表单提交放在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(); }
    });
Run Code Online (Sandbox Code Playgroud)