如何在每天的某段时间内停用HTML提交按钮

时间:2017-04-12 06:15:48

标签: javascript jquery html

我想每天禁用按钮一段时间。

  

例如:让我们说,html提交按钮每天都被禁用   上午11:00和下午4:00。

<script type="text/javascript">

function checkButton() {
    var date = new Date();
    var hours = date.getHours();
    var minutes = date.getMinutes();

    //Hide button at 11:00 AM
    if(hours == 11 && minutes == 00) {
        $("#btn").hide();
    }
    //Show button at 04:00 PM
    if(hours == 16 && minutes == 00) {
        $("#btn").show();
    }
}
</script>

HTML提交按钮参考。

<body>
        <input id="btn" type="submit" value="submit" onload="checkButton()">
</body>

5 个答案:

答案 0 :(得分:1)

您不应检查是否相等,而是使用&lt;检查上述时间之间的日期。和&gt;运算符。

答案 1 :(得分:1)

检查上午11:00到下午4:00之间的时间:

let min = hours*60 + minutes;
if(min > 11*60 && min < 16*60) {
  $("#btn").hide();
}else {
  $("#btn").show();
}

要每天检查一下,您应该将 checkButton 函数放在循环中,例如使用 setInterval 函数。如:每1分钟检查一次:

setInterval(checkButton, 60000);

我没有Jquery的解决方案:

<!DOCTYPE html>
<html>
    <head></head>
    <body>
        <button id="btn">Click me</button>
        <script>
            window.onload = function() {
                let btn = document.getElementById('btn');   

                function checkButton(){
                    let date = new Date();
                    let hours = date.getHours();
                    let minutes = date.getMinutes();

                    let min = hours*60 + minutes;
                    if(min > 11*60 && min < 16*60) {
                      //$("#btn").hide();
                      btn.style.display = 'none';
                      console.log('btn hide');
                    }else {
                      //$("#btn").show();
                      btn.style.display = 'block';
                      console.log('btn show');
                    }
                }

                setInterval(checkButton, 6000);
            }
        </script>
    </body>

</html>

答案 2 :(得分:0)

您目前只是检查某个时间点,但您的说明假设您希望检查时间范围。因此,请尝试以下方法:

if(hour >= 11 && < 16) { $('#btn').hide() }

答案 3 :(得分:0)

<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <title>Test</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <script>
    window.addEventListener("load", function(){
     var currentTime = new Date();
     var hours = currentTime.getHours();
     var newButton = document.getElementById("btn");

    if(hours >= 11 && hours <= 18) {
     newButton.style.display = "none";
    }
    else {
     newButton.style.display = "block";
    }
}, false);
        </script>
    </head>
    <body>
        <div>Test</div>
        <input type="submit" id="btn">
    </body>
</html>

答案 4 :(得分:-1)

使用Php Date功能显示小时之间的按钮。

<?php
$hour=date('H');
if(($hour <=11) || ($hour >=16)) {?>
    <script type="text/javascript">
            $("#button").show();
    </script>
<?php }
?>