我正在研究一个测验模块,如果该测验超过了时间限制(即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