我正在制作一个测验模块,如果超过时限,即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>
答案 0 :(得分:1)
首先,您需要在文档就绪函数中保留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
答案 1 :(得分:0)
最后它现在排序了。行
if((counterVal == '00:00') || (counterVal == '00:00:00'))
{
submitForm();
}
必须被替换为,
if((counterVal == 'Time Left : 00:00:00') || (counterVal == 'Time Left : 00:00'))
{
submitForm();
}