0

我正在做一个在线考试项目。我想在 10 分钟后提交一个页面,即使用户没有点击提交按钮。另外,我想显示时间倒计时。

4

2 回答 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 回答