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 に答える