我只需点击一下按钮就会多次提交多个数据。
首先,我将数据提交给可变数量的隐藏iframe (表单为enctype="multipart/form-data"
)。然后我想运行正常的提交按钮/功能,重定向主页面。
如果我在一个功能中执行此操作,我最终不会收到我发送到隐藏的iframe的所有数据。我相信重定向在其他表单完成发送之前开始(有时我收到提交的第一个数据,大部分时间我没有收到)。
我使用setTimeout(function(){$("#submitbtn").click()},3000)
攻击了一个解决方案......但显然这并不总是需要3秒钟。我想要一种检测它何时完成的方法,以便我可以开始提交。
很抱歉,如果您需要更多信息,请注意/询问。
答案 0 :(得分:0)
我不确定你是如何将这些数据提交给iframe的,但如果你使用的是$.ajax
,你可以设置async : false
,它会暂停每个jQuery事件,动画等等。可能有些东西如果您使用不同的方法,则类似。
答案 1 :(得分:0)
如果您使用的是AJAX,我建议使用jQuery $ .post的成功回调。
e.g。
$.post('/process', form_data, function(data) { document.location = '/thankyou'; false})
在此示例中,在成功提交发布数据后,用户将被重定向到/ thankyhou
你也可以在回调中使用$(“#submitbtn”)。click()。
答案 2 :(得分:0)
我设法通过使用IFRAME.load来检测目标iframe的更改。一旦所有iframes.load()被解雇,我就会解雇最后一个提交(重定向主页面的提交)。