Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 倒计时自动触发提交按钮_Javascript_Redirect_Time_Timer_Countdowntimer - Fatal编程技术网

Javascript 倒计时自动触发提交按钮

Javascript 倒计时自动触发提交按钮,javascript,redirect,time,timer,countdowntimer,Javascript,Redirect,Time,Timer,Countdowntimer,我正在做一个关于PHP的在线考试项目 我想让倒计时计时器在超时时自动触发提交按钮 如果可能,如果计时器达到1分钟标记,则在计时器下方显示另一个div标记 功能启动定时器(持续时间,显示){ var定时器=持续时间, 分,秒; setInterval(函数(){ 分钟=parseInt(计时器/60,10) 秒=parseInt(计时器%60,10); 分钟=分钟

我正在做一个关于PHP的在线考试项目

我想让倒计时计时器在超时时自动触发提交按钮

如果可能,如果计时器达到1分钟标记,则在计时器下方显示另一个div标记

功能启动定时器(持续时间,显示){
var定时器=持续时间,
分,秒;
setInterval(函数(){
分钟=parseInt(计时器/60,10)
秒=parseInt(计时器%60,10);
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
display.textContent=分钟+“:”+秒;
如果(--定时器<0){
定时器=持续时间;
}
}, 1000);
}
window.onload=函数(){
var examTime=60*5,
display=document.querySelector(“#time”);
开始计时器(examTime,显示);
};
#timediv{
背景色:#003300;
颜色:#ffffff;
字体大小:20px;
文本对齐:居中;
}
考试在05:00分钟后结束!

setInterval
回调中,检查时间是否已达到0:

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

    if (minutes === 0 && seconds === 0) {
      document.querySelector('form').submit()
    }

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

    display.textContent = minutes + ":" + seconds;

    if (--timer < 0) {
      timer = duration;
    }
  }, 1000);
}'

您可以将此逻辑添加到
startTimer
函数中:

/。。。
如果(--定时器<0){
document.getElementById(“theForm”).submit();
// ...
}
// ...

您必须将
上的
id
属性设置为
表单

我希望以下内容相当容易理解。如果可能的话,如果计时器达到1分钟标记,则在计时器下方显示另一个。
因此我将其解释为当考试还有1分钟时,向用户“提供警告或某种形式”

当倒计时计时器达到其指定时间时,将调用提交表单的命令-该方法仅为
form.submit()
,其中
form
是对表单的引用,以任何适合的方式派生

仅供参考-计时器最初已修改为略多于1分钟,以便在无需等待的情况下即可看到效果,并且等待和等待

另外-在这里的代码中,我使用了
警报
来表示时间不多了。。。最好在屏幕上显示一条消息

功能启动定时器(持续时间,显示){
var定时器=持续时间;
分钟,秒;
var警告=60;
var-ok=false;
var form=document.forms.exam;
var t=setInterval(函数(){
分钟=parseInt(计时器/60,10);
秒=parseInt(计时器%60,10);
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
display.textContent=分钟+“:”+秒;

如果(计时器)在计时器下方显示另一个计时器,如果计时器达到1分钟标记,这意味着什么?我认为可以使用同一个计时器指示剩余1分钟的时间?!问题出在哪里?我没有看到计时器函数中对表单的引用或提交表单的尝试-这是问题吗?我没有看到任何“php”.那么,这真的是一个与php相关的问题吗?如果是,如何解决?
if (minutes === 1 && seconds === 0) {
  // Display an alert or another timer 
}