如果秒= 0,我的页面中有一个javascript计时器提交表单。但是问题是,在刷新页面时,计时器从初始值开始。
这是javascript代码
<script>
secs = 300;
timer = setInterval(function () {
var element = document.getElementById("status");
element.innerHTML = "Remaining :<b>"+secs+" sec</b>";
if(secs < 1){
clearInterval(timer);
document.test.submit();
}
secs--;
}, 1000);
有什么方法可以避免这种情况吗?它可以通过阻止页面重新加载来实现。这可能吗?
答案 0 :(得分:1)
您可以将当前计时器值作为表单帖子的一部分提交(例如,在提交之前动态添加隐藏的表单元素),然后在页面重新加载后使用此值作为计时器的初始值。
另一种可能性是使用AJAX提交表单,以便不需要页面刷新。要实现这一点,您可以查看jQuery ajax函数: http://api.jquery.com/jquery.ajax/
如果其中一个解决方案听起来不错,我可以提供一个示例。
答案 1 :(得分:0)
在页面加载时重新启动所有变量。如果要保留一些值,则必须使用window.sessionStorage。
https://developer.mozilla.org/en/docs/Web/API/Window/sessionStorage