提交两个表单 - 提交,延迟,提交

时间:2012-06-18 06:39:26

标签: jquery timeout

我试图一次提交两个表单(一个转到db,另一个转到fpdf来制作标签)。我使用jquery将变量从第一个表单复制到第二个表单上的隐藏输入。我在这里已经看过几次这个问题,但没有一个答案有帮助。我使用'假'ajax方法 - 即:我将表单目标设置为同一页面上的隐藏iframe。所以我想提交一个表格,然后使用延迟然后提交第二个表格(因为它没有延迟工作!)

那么如何为此代码添加延迟:

    $('#insert').submit(function() {
    //Delay here please, or is it timeout I need?
    $('#print').submit();
    });

<form id="insert" action="insert.php" target="hiddeniframe">
// a bunch of inputs
<input type="submit" value="submit">
</form>

<form id="print" action="pdf.php" target="hiddeniframe">
// a bunch of inputs
</form>

1 个答案:

答案 0 :(得分:1)

您的脚本正在执行/返回的内容尚不清楚,但您可以始终使用ajax作为第一个请求,然后将iframe用于第二个请求。例如:

$('#insert').on('submit', function(e) {
  e.preventDefault();

  $.ajax({
    url: $(this).attr('action'),
    type: 'POST',
    data: $(this).serialize(),
    success: function() {
      // duplicate fields from first form into second form
      // as per whatever code you've already written

      // submit second form
      $('#print').submit();
    })
  });
});

这样,第二个表单在第一个表单成功响应后提交。