Javascript 当倒计时计时器=0时,按“警报”按钮或提交表单
当我的计时器计数为Javascript 当倒计时计时器=0时,按“警报”按钮或提交表单,javascript,php,Javascript,Php,当我的计时器计数为00:00:00 alert('Get Result')按钮或提交表单 我甚至不能在response.php中提醒消息 这是我从数据库中选择持续时间的地方 while($row=mysqli_fetch_array($res)) { $duration=$row["duration"]; } $_SESSION["duration"]=$duration; $_SESSION["start_time"]=date("Y-m-d H:i:s"); $end_time=
00:00:00
alert('Get Result')
按钮或提交表单
我甚至不能在response.php中提醒消息
这是我从数据库中选择持续时间的地方
while($row=mysqli_fetch_array($res))
{
$duration=$row["duration"];
}
$_SESSION["duration"]=$duration;
$_SESSION["start_time"]=date("Y-m-d H:i:s");
$end_time=$end_time=date('Y-m-d H:i:s', strtotime('+'.$_SESSION["duration"].'minutes',strtotime($_SESSION["start_time"])));
$_SESSION["end_time"]=$end_time;
这是response.php
<?php
session_start();
$from_time1=date('Y-m-d H:i:s');
$to_time1=$_SESSION["end_time"];
$timefirst=strtotime($from_time1);
$timesecond=strtotime($to_time1);
$differenceinseconds=$timesecond-$timefirst;
if($differenceinseconds<0){
// This is for when timer smaller then 0 then = 00:00:00
$differenceinseconds=0;
echo "TIME UP<br>";
//I try to alert a simple message here, and dint work. Why is this happen
}
echo gmdate("H:i:s",$differenceinseconds);
?>
下面是测验页面中的javascript
<script type="text/javascript">
var x =setInterval(test,1000);
function test()
{
var xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","response.php",false);
xmlhttp.send(null);
document.getElementById("response").innerHTML=xmlhttp.responseText;
}
</script>
var x=设定间隔(测试,1000);
功能测试()
{
var xmlhttp=new XMLHttpRequest();
open(“GET”,“response.php”,false);
xmlhttp.send(空);
document.getElementById(“response”).innerHTML=xmlhttp.responseText;
}
显示计时器标签
<div id=response class=timer style=font-size:30px></div>
表单名称和按钮
<form name=myfm method=post action=quizz.php>
<input type=submit name=submit value='Get Result'>
您的PHP应该只获得时间差。这意味着PHP将始终输出
HH:mm:ss
格式,而不输出其他文本或值,这些文本或值将在JavaScript中获得。确保输出总是相同的,除非您使用的是编码数组,这意味着您可以将代码设计为期望始终发送的值
$differenceinconds=$timesecond-$timefirst;
如果($differenceSeconds<0){
$differenceinseconds=0;
}
echo gmdate(“H:i:s”,差分秒);
在获取JavaScript中的值后,您可以检查该值,因为您现在知道,response.php
打印的唯一内容是HH:mm:sss
格式的时间
function test() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "response.php", false);
xmlhttp.send(null);
var response = xmlhttp.responseText;
document.getElementById("response").innerHTML = response;
if (response == "00:00:00") {
alert("Time's up!");
}
}
如果还要提交表单,请在条件If(response==“00:00:00”){
中添加一个submit()
document.getElementsByName('myfm')[0].submit();
它可以提醒时间到了,但是如果(response==“00:00:00”){document.getElementsByName('myfm')[0].submit();}当时间到了,它就卡在那里了,我们有办法在警报消息中发出警报并获取结果按钮吗?如果警报按应有的方式显示,那么使用
document.getElementsByName('myfm')[0]提交表单时就会出现问题。提交();
您需要调试它以找出它没有触发的原因。从外观上看,您可能缺少一个结束表单标记,您应该引用属性的所有值,即method=“POST”
而不是method=POST
Ya,我在第一条注释之前就尝试过了,因为我的表单是PHPecho“”
我确实尝试了返回并使用ID方法,但仍然不起作用。我通过单击按钮解决了这个问题。getElementById(“getrr”)。单击();