在服务器时间

时间:2015-06-26 22:36:37

标签: javascript php html radio-button activation

<script language="javascript" type="text/javascript">
if (new Date().getHours() < 11) 
    {
        document.getElementById("r1").checked = true;
    }   else if (new Date().getHours() < 16)
    {
        document.getElementById("r1").disabled = true;
        document.getElementById("r2").checked;
    }
        else if (new Date().getHours() < 21)
    {
        document.getElementById("r1").disabled=true;
        document.getElementById("r2").disabled=true;
        document.getElementById("r3").checked;
    }
</script>

<label class="label_radio" for="radio-01">
    <input name="bdw" id="r1" type="radio"/>11:00 AM
    <input name="bdw" id="r2" type="radio"/>4:00 PM
    <input name="bdw" id="r3" type="radio"/>9:00 PM
</label>

如何根据我脚本中指定的时间停用单选按钮?它看起来像本教程其他部分的示例中所述,但它不起作用。我缺少什么吗?

3 个答案:

答案 0 :(得分:1)

而不是使用var date = new Date();var hours = date.getHours();。你应该使用PHP在变量中存储时间,而不是比较该变量的时间。由于JS跟踪客户端时间,因此如果有人改变他的计算机系统时间,使用JS时间的比较很容易被欺骗。

hours = <?php echo date("h"); ?>
hours+=1;
if(hours>23){
hours = 0;
}

答案 1 :(得分:0)

它有效,但您没有将checked的值设置为true.checked的默认值为false。而你没有禁用其他单选按钮。

请在此处查看:https://jsfiddle.net/qsuxp12h/

var date = new Date();
//var hours = date.getHours();
var hours = 10; // <- Mess around to test it
if (hours < 11) {
    document.getElementById("r2").disabled = true;
    document.getElementById("r3").disabled = true;
    document.getElementById("r1").checked = true;
} else if (hours < 16) {
    document.getElementById("r1").disabled = true;
    document.getElementById("r3").disabled = true;
    document.getElementById("r2").checked = true;
} else if (hours < 21) {
    document.getElementById("r1").disabled = true;
    document.getElementById("r2").disabled = true;
    document.getElementById("r3").checked = true;
}

答案 2 :(得分:0)

您正在加载代码之前执行脚本,因此脚本应在页面加载后完成。

<label class="label_radio" for="radio-01">
<input name="bdw" id="r1" type="radio"/>11:00 AM
<input name="bdw" id="r2" type="radio"/>4:00 PM
<input name="bdw" id="r3" type="radio"/>9:00 PM
</label>

<script language="javascript" type="text/javascript">
    current_time = new Date().getHours();
if (current_time < 11) 
  {
    document.getElementById("r1").checked = true;
  }   else if (current_time < 16)
  {
    document.getElementById("r1").disabled = true;
     document.getElementById("r2").checked = true;
  }
    else if ( current_time < 21)
  {
    document.getElementById("r1").disabled=true;
    document.getElementById("r2").disabled=true;
    document.getElementById("r3").checked = true;
  }
</script>