为了账号安全,请及时绑定邮箱和手机立即绑定

当倒数计时器= 0时,发出警报按钮或提交表单

当倒数计时器= 0时,发出警报按钮或提交表单

慕虎7371278 2021-05-13 14:33:11
当我的计时器计数为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<?phpsession_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>显示计时器标签<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'>
查看完整描述

1 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

您的PHP应该只会得到时间上的差异。这意味着PHP将始终输出的格式HH:mm:ss,而不会输出其他文本或值,您可以在JavaScript中获得该格式。除非您使用编码数组,否则确保输出始终是相同的,这意味着您可以设计代码以期望始终发送的值。


$differenceinseconds = $timesecond - $timefirst;

if ($differenceinseconds < 0){

    $differenceinseconds = 0;

}

echo gmdate("H:i:s", $differenceinseconds);

然后,您可以在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!");

    }

}

如果您也要提交表单,请submit()在条件中添加if (response == "00:00:00") {。


document.getElementsByName('myfm')[0].submit();


查看完整回答
反对 回复 2021-05-28
  • 1 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信