javascript - 如何添加提交表单的 5 分钟 JavaScript 倒计时器

标签 javascript php jquery forms timer

我想添加 5 分钟倒计时器,将表单提交到我的 php 页面。

        <form name="myfm" id="myfm" method="post" action="Quiz.php">
        <table width=100%> <tr> <td width=30><td></td></td></tr> <table border=0>
        <?php $n=$n+1; ?>
        <tr><td>Question  <?php echo $n." "; echo $row[2]; ?></td></tr>
        <tr><td class=style8><input type="radio" name="ques['<?php echo $n; ?>'][]" value=1><?php echo $row[3]; ?></td></tr>
        <tr><td class=style8> <input type="radio" name="ques['<?php echo $n; ?>'][]" value=2><?php echo $row[4];?></td></tr>
        <tr><td class=style8><input type="radio" name="ques['<?php echo $n; ?>'][]"  value=3><?php echo $row[5];?></td></tr>
        <tr><td class=style8><input type="radio" name="ques['<?php echo $n; ?>'][]"  value=4><?php echo $row[6];?></td></tr>

    <?php 
        }
        echo "<tr><td><input type=submit name=submit id='result' value='Get Result'></form>";
        ?>
        </table></table>
        </form>

请帮助我..我正在做一个测验页面,当倒计时结束时自动提交表单。谢谢...

最佳答案

这就是你想要的,我不久前用过 - https://jsfiddle.net/v5uc9wfx/3/

function CountDown(duration, display) {
    if (!isNaN(duration)) {
        var timer = duration, minutes, seconds;

        var interVal = setInterval(function () {
            minutes = parseInt(timer / 60, 10);
            seconds = parseInt(timer % 60, 10);

            minutes = minutes < 10 ? "0" + minutes : minutes;
            seconds = seconds < 10 ? "0" + seconds : seconds;

            $(display).html("<b>" + minutes + "m : " + seconds + "s" + "</b>");
            if (--timer < 0) {
                timer = duration;
                SubmitFunction();
                $(display).empty();
                clearInterval(interVal)
            }
        }, 1000);
    }
}

这里 -

CountDown(duration, display) 

持续时间以秒为单位,即 300 秒 = 5 分钟。 display 是您要显示在何处的另一个参数。

您可能还需要清除间隔 -

clearInterval(interVal)

带表格

        function CountDown(duration, display) {
            if (!isNaN(duration)) {
                var timer = duration, minutes, seconds;
                
              var interVal=  setInterval(function () {
                    minutes = parseInt(timer / 60, 10);
                    seconds = parseInt(timer % 60, 10);

                    minutes = minutes < 10 ? "0" + minutes : minutes;
                    seconds = seconds < 10 ? "0" + seconds : seconds;

                    $(display).html("<b>" + minutes + "m : " + seconds + "s" + "</b>");
                    if (--timer < 0) {
                        timer = duration;
                       SubmitFunction();
                       $('#display').empty();
                       clearInterval(interVal)
                    }
                    },1000);
            }
        }
        
        function SubmitFunction(){
       $('form').submit();
        
        }
    
         CountDown(300,$('#display'));
      
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="display">

</div>
<form action="/" >
<lable>Name: <input type="text"></lable>

</form>

关于javascript - 如何添加提交表单的 5 分钟 JavaScript 倒计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35361637/

相关文章:

javascript - 将多个参数/参数附加到 jsonp 回调函数

php - DOMPDF渲染动态表缓慢的解决方案

javascript - 没有表单元素的 jQuery AJAX POST?

javascript - HTML5/jQuery 音频随机播放 onClick

javascript - 如何通过单击 html 元素获取 xpath

javascript - 如何防止 jointjs 中的元素接触/碰撞?

javascript - 仅当窗口宽度调整大小时才调用 jquery 函数

php - PHP上的数据显示(选择查询)

php - 具有更新计费周期的 Paypal 定期付款

javascript - 带有滑动图片的动态 jQuery 菜单