我正在做一个在线考试项目。我想在 10 分钟后提交一个页面,即使用户没有点击提交按钮。另外,我想显示时间倒计时。
问问题
1668 次
2 回答
6
这应该相当简单,只需用于[setInterval][1]
倒计时并提交回发即可。
<div id="timer"></div>
<script type='text/javascript'>
var start = new Date();
setInterval(function() {
// check time elapsed given target time of 10 mins from now
var timeLeft = (600000 - (new Date() - start))/1000;
// update timer
document.getElementById('timer').innerHTML = Math.floor(timeLeft/60) + ":" + Math.floor(timeLeft%60);
// check if timer has elapsed, and submit form
if (timeLeft > 0) {
document.forms[0].submit();
}
}, 1000);
</script>
编辑根据评论,最好检查实际经过的时间,而不是依赖setInterval(这并不完全准确)。
于 2012-09-08T07:47:54.957 回答
2
您可以使用“window.setTimeout”函数来设置提交表单的超时时间。对于倒计时,我建议您使用这样的 jquery 插件:http: //keith-wood.name/countdown.html
干杯
window.setTimeout(
function ()
{
$("form")[0]
.submit();
},
10000
);
于 2012-09-08T07:50:48.123 回答