我正在做一个在线考试项目。我想在10分钟后提交一个页面,即使用户没有点击提交按钮。另外,我想显示一个倒计时。
答案 0 :(得分: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 (这不完全准确)。
答案 1 :(得分:2)
您可以使用“window.setTimeout”函数设置提交表单的超时时间。为了倒计时,我建议你使用像这样的jquery插件:http://keith-wood.name/countdown.html
干杯
window.setTimeout(
function ()
{
$("form")[0]
.submit();
},
10000
);