Javascript 如何设置仅超时1次循环?

Javascript 如何设置仅超时1次循环?,javascript,Javascript,如何设置仅超时1次循环 这段代码永远在循环,我只希望它只循环一次 这是我的代码: <html> <head> <script language="JavaScript" type="text/javascript"> function doStuff() { document.myform.submit(); } var myTimer = setTimeout(doStuff, 1000); </script> </head>

如何设置仅超时1次循环

这段代码永远在循环,我只希望它只循环一次

这是我的代码:

<html>
<head>
<script language="JavaScript" type="text/javascript">
function doStuff() {
    document.myform.submit();
}
var myTimer = setTimeout(doStuff, 1000);
</script>
</head>
<body>
<form name="myform" action="" method="post">
</form>
</body>
</html>

函数doStuff(){
document.myform.submit();
}
var myTimer=setTimeout(doStuff,1000);

每次提交表单时,页面都会重新加载,并再次调用
setTimeout

每次加载页面时,您都必须对其进行跟踪。例如:

sessionStorage.submitted = new Date().toString();
然后检查:

if (!sessionStorage.submitted)
    var myTimer = setTimeout(doStuff, 1000);
(注意:它在IE7-中不起作用。)


顺便问一下,使用POST提交到静态HTML页面有什么意义?也许有一些PHP代码我们没有看到?

每次页面发布和加载时,它都会再次调用setTimeout。这就是你想要的功能吗

我想你可能想做的是:

var myTimer = function(){setTimeout(doStuff, 1000)};

使用clearTimeout()方法。提交页面将重新加载页面以及所有javascript,这将重新注册
setTimeout
。仅供参考,setTimeout只运行一次。您重新提交页面的事实将其置于一个无限循环中。这是因为表单的操作是空的,所以它只是一次又一次地向同一页面发送帖子。你在这里想干什么?