我试图一次提交两个表单(一个转到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>
答案 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();
})
});
});
这样,第二个表单在第一个表单成功响应后提交。