如何检测表单提交超时并重新提交?

时间:2015-12-02 12:52:49

标签: javascript forms form-submit

我们使用不可靠的端点提交表单,偶尔会超时。

window.onload = function(){
  document.forms['form-to-third-party-endpoint'].submit()
}

检测超时并尝试重新提交表单的最佳方法是什么?也许在放弃之前尝试5次。

这是第三方集成 - 表单在iframe中加载并自动提交以获取HTML内容。

注意:是的,更好的解决方案是修复超时。但我们需要现场取出系统,不能等待第三方。

1 个答案:

答案 0 :(得分:1)

我认为最好的方法是在几秒钟内制作一个计数器,当它达到300(5分钟)时再次提交表格。如果用户离开页面,则可以使用onbeforeunload停止计数器。

像这样的东西

var counter = 0, interval;

window.onload = function() {
   interval = setInterval(addCounter, 1000); 
}

function addCounter() {
   counter++;
   if(counter === 300) {
     counter = 0;
     document.forms['form-to-third-party-endpoint'].submit()
   }
}

window.onbeforeunload = function() {
  clearInterval(interval);
}

这是一个概念,此代码未经过测试。