2015-02-10 72 views
0

我有一個帶有表單的html頁面。它有兩個單選按鈕,分別是日班和夜班。我有一個JavaScript if語句,說明如果當前時間晚於7:00和19:00之前,則自動默認要檢查的dayshift按鈕,否則檢查Night Shift按鈕。默認情況下選中的單選按鈕

我不明白如何根據此聲明檢查單選按鈕。我從一個單選按鈕之前將一個值放入一個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; 
} 
+0

fyi,你在你的單選按鈕上有'required'兩次 – indubitablee 2015-02-10 19:21:00

回答

2

你可以做到以下幾點:

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

PS:你真的應該改變無效的重複的ID。而且required屬性也不應該重複。

+0

Upvote爲重複ID的好:) – Ted 2015-02-10 19:20:18

+0

對不起,我不明白重複的ID。我命名了一天,另一天晚上換了我的身份證。這是如何重複的?你是指我的​​的。我試過代碼,按鈕沒有反應 – ENGR024 2015-02-10 19:28:08

+0

我的意思是'formBody',它與你的問題沒有關係,我只是提到它。 – meskobalazs 2015-02-10 19:29:17

5

這應該這樣做。

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; 
} 
+0

擊敗我。有一個upvote :) – Ted 2015-02-10 19:19:30

+0

大聲笑謝謝。我很幸運,首先看到了問題。 – CrazyPaste 2015-02-10 19:20:20

+0

沒有爲我工作。你能把它放在jsfiddle嗎? – ENGR024 2015-02-10 19:39:23

相關問題