网页倒计时器和自动提交

时间:2012-09-08 07:46:20

标签: c# javascript asp.net

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

2 个答案:

答案 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
);