默认选中单选按钮

Radio buttons checked by default

我有一个 html 页面,里面有一个表单。它有两个单选按钮,标记为白班和夜班。我有一个 JavaScript IF else 语句,表示如果当前时间晚于 7:00 且在 19:00 之前,则自动默认要检查的白班按钮,否则检查夜班按钮。

我不明白如何根据此语句检查单选按钮。我之前已经从单选按钮将值放入 JavaScript 变量中,但反之则不然。非常感谢任何帮助。

html

<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8" content="HTML,CSS,XML,JavaScript">
      <script src="Scripts/autoRadio.js" type="text/javascript"></script>
      <link rel="stylesheet" type="text/css" href="Styles/Design.css">
   </head>
   <body>
      <form action="WasteEntry.asp" method="post">
         <fieldset>
            <input type="radio" required name="Shift" id="dayShift" value="Day Shift" >
            <input type="radio"  name="Shift" id="eveningShift" value="Evening Shift" >
         </fieldset>
      </form>
   </body>
</html>

JavaScript

 var now = new Date().getHours();
if (now > 7 && now < 19) {
     document.getElementById('dayShift').checked = true;
} else {
     document.getElementById('eveningShift').checked = true;
}

这应该可以做到。

var now= new Date().getHours();
if(now>7 && now<19){
    radiobtn = document.getElementById("dayShift");
    radiobtn.checked = true;
} else{
    radiobtn = document.getElementById("eveningShift");
    radiobtn.checked = true; 
}

您可以执行以下操作:

var now = new Date().getHours();
if (now > 7 && now < 19) {
     document.getElementById('dayShift').checked = true;
} else {
     document.getElementById('eveningShift').checked = true;
}

PS:您真的应该更改无效的重复 ID。而且 required 属性也不应该重复。