我正在研究一个测验模块,如果该测验超过了时间限制(即30分钟),则必须自动提交测验。我已经为此使用了jQuery,但是当达到时间限制时,测验不会自动提交。我可以知道我要去哪里错了。任何对此的见解将非常有帮助。以下是我的代码段,

function get15dayFromNow() {

   return new Date(new Date().valueOf() + <?php echo $duration ; ?> * 60 * 1000);

       }

   var $time_spend = $('#time_spend');
  $time_spend.countdown(get15dayFromNow(), function(event) {
    $(this).val(event.strftime('%M:%S'));
  });

  var $clock = $('#clock');
  $clock.countdown(get15dayFromNow(), function(event) {
    $(this).html('Time Left :   '+'00:'+event.strftime('%M:%S'));

    var counterVal  =   $("#clock").text();
    if((counterVal   == '00:00') || (counterVal   == '00:00:00'))
    {
        submitForm();
    }

 });

function submitForm()
{
    document.getElementById("target").submit();

}

 <div class="lead" style="width:30%; text-align:right; font-size:14px; font-weight:bold;" id="clock"><?php echo $duration ; ?>:00</div>
<form id="target" method="post" action="processQuiz_chapter.php">

//Question and options listings here.

 <button type="submit" style="display:none;"  name="submitQuiz" value="submit" class="btn btn-success wrp_submit"><i class="glyphicon glyphicon-floppy-disk"></i> Submit</button>
        <button type="submit" value="submit" class="btn btn-success wrp_submit_togle"><i class="glyphicon glyphicon-floppy-disk"></i> Submit</button>
</form>

最佳答案

首先,您需要将js代码保留在文档准备功能中,

有一个事件将在您的时间结束后执行,您可以使用该事件
活动提交表格。看一行文本为finish.countdown

尝试以下代码。

$(document).ready(function(){
    function get15dayFromNow() {

       return new Date(new Date().valueOf() + <?php echo $duration ; ?> * 60 * 1000);

           }

       var $time_spend = $('#time_spend');
          $time_spend.countdown(get15dayFromNow(), function(event) {
            $(this).val(event.strftime('%M:%S'));
          });

       var $clock = $('#clock');
        $clock.countdown(get15dayFromNow(), function(event) {
            $(this).html('Time Left :   '+'00:'+event.strftime('%M:%S'));
        })
        .on('finish.countdown', function() {
            submitForm();
        });

    function submitForm()
    {
        document.getElementById("target").submit();

    }
});


进一步了解Document

08-15 16:44