Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “从自动保存”脚本无法正确保存表单_Javascript_Php_Jquery_Forms - Fatal编程技术网

Javascript “从自动保存”脚本无法正确保存表单

Javascript “从自动保存”脚本无法正确保存表单,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我有一个脚本,它会查找空闲的用户,当用户空闲x秒时,它会执行用户所在表单的提交(保存他们的数据,并将页面刷新回现有表单)。出于某种原因,它正在刷新页面,而没有提交表单,导致表单在过程中丢失所有数据:P.代码中是否缺少某些内容 脚本代码: <!-- Set auto save timeout in milliseconds --> <script type="text/javascript"> attachEvent(window,'load',function(){

我有一个脚本,它会查找空闲的用户,当用户空闲x秒时,它会执行用户所在表单的提交(保存他们的数据,并将页面刷新回现有表单)。出于某种原因,它正在刷新页面,而没有提交表单,导致表单在过程中丢失所有数据:P.代码中是否缺少某些内容

脚本代码:

<!-- Set auto save timeout in milliseconds -->
<script type="text/javascript">
attachEvent(window,'load',function(){
  var idleSeconds = 5;
  var idleTimer;
  function resetTimer(){
    clearTimeout(idleTimer);
    idleTimer = setTimeout(whenUserIdle,idleSeconds*1000);
  }
  attachEvent(document.body,'mousemove',resetTimer);
  attachEvent(document.body,'keydown',resetTimer);
  attachEvent(document.body,'click',resetTimer);

  resetTimer(); // Start the timer when the page loads
});

function whenUserIdle(){
        document.project.submit();
        window.location = location.href;
}

function attachEvent(obj,evt,fnc,useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evt,fnc,!!useCapture);
    return true;
  } else if (obj.attachEvent){
    return obj.attachEvent("on"+evt,fnc);
  }
} 
</script> 

attachEvent(窗口,'load',函数(){
var idleSeconds=5;
无功功率;
函数resetTimer(){
clearTimeout(idleTimer);
idleTimer=setTimeout(whenUserIdle,idleSeconds*1000);
}
附件(document.body、'mousemove',resetTimer);
附件(文档主体、'keydown',重置计时器);
附件(document.body,'click',resetTimer);
resetTimer();//加载页面时启动计时器
});
函数whenUserIdle(){
document.project.submit();
window.location=location.href;
}
功能附件(obj、evt、fnc、useCapture){
if(对象添加列表器){
对象添加列表器(evt、fnc、!!useCapture);
返回true;
}else if(对象附件){
返回对象附件(“on”+evt,fnc);
}
} 
表格编号:

<form name="project" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="invoice-form" method="post"  class="invoice-form" role="form" novalidate> 

听起来您最好异步提交表单。一个不断刷新的网站(即使只是在我空闲的时候)似乎很烦人。@MikeC你有没有链接或什么东西可以提供如何做的教程?每5-10分钟左右只刷新一次(以最方便为准)。我还实现了一个页面位置脚本,这样当它刷新时,它会自动转到页面上的位置(这样你就不必向下滚动了)。到处都有关于使用AJAX的教程。如果你在谷歌上搜索“如何使用ajax”,你将淹没在教程的海洋中。听起来你最好异步提交表单。一个不断刷新的网站(即使只是在我空闲的时候)似乎很烦人。@MikeC你有没有链接或什么东西可以提供如何做的教程?每5-10分钟左右只刷新一次(以最方便为准)。我还实现了一个页面位置脚本,这样当它刷新时,它会自动转到页面上的位置(这样你就不必向下滚动了)。到处都有关于使用AJAX的教程。如果你在谷歌上搜索“如何使用ajax”,你将淹没在教程的海洋中。