【问题标题】:how to submit timer value in a form when click stop?单击停止时如何在表单中提交计时器值?
【发布时间】:2023-04-05 17:00:01
【问题描述】:

当有人单击停止时,我如何使这个计时器以 name="time" 形式提交表单名称并将值发送到 $_POST['time'] 然后我可以将值存储到 mysql 数据库中?

    <div id="timer"></div>
    <button type="button" onclick="stopTimer()">Stop</button>

    <?php
    $time = strtotime('01:00:00');
    ?>


   <script>
    var startTime = <?php echo $time;?>;
    //var startTime = Date.now();
    var second = 1000;
    var minute = second * 60;
    var hour = minute * 60;
    var container = document.getElementById('timer');
    
    function stopTimer() {
        clearInterval(timer);
    }
    
    function pad(n){
      return ('00' + n).slice(-2);
    }
    
    var timer = setInterval(function(){
      var currentTime = Date.now();
      var difference = currentTime - startTime;
    
      var hours = pad((difference / hour) | 0);
      var minutes = pad(((difference % hour) / minute) | 0);
      var seconds = pad(((difference % minute) / second) | 0);
    
      container.innerHTML = hours + ':' + minutes + ':' + seconds;
    
    // This only represents time between renders. Actual time rendered is based
    // on the elapsed time calculated above.
    }, 250);
    </script>

感谢您的帮助

【问题讨论】:

  • 通过 AJAX 发送。
  • 有什么问题吗?我想您可以使用常规表单,使用计时器(通过 JS)设置输入字段的值并“仅”提交表单
  • @brombeer 你能告诉我如何实现它吗?

标签: javascript php jquery forms


【解决方案1】:

正如@brombeer 建议的那样,只需创建一个这样的表单:

<form action="yoururl" method="post">
    <input id="timer" type="number" disabled name="time" value="<?=$time?>" /> <!--here the value is shown-->
    <button type="submit">Stop</button> <!--when you click here time=xx:xx:xx is sent to yoururl-->
</form>

然后,您可以通过 JavaScript 以 timer 的身份访问它并编辑您的问题中显示的广告

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 2015-05-04
    • 2015-03-08
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多