2015-02-10 5 views
0

У меня есть html-страница с формой. Он имеет два переключателя с надписью Day Shift и Night Shift. У меня есть оператор 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; 
} 
+0

fyi, у вас есть 'требуется' дважды на ваших переключателях – indubitablee

ответ

2

Вы можете сделать следующее:

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

PS: Вы действительно должны изменить недопустимые повторяющиеся коды. И атрибут required не должен дублироваться.

+0

Upvote для хорошего улова дубликатов ID :) – Ted

+0

Мне жаль, я не понимаю о дублированных идентификаторах. Однажды я назвал Shift, а другой - для моего id. Как этот дубликат? Вы имеете в виду мои .? Я пробовал код, и кнопки не реагируют – ENGR024

+0

Я имел в виду 'formBody', это не связано с вашей проблемой, я только что упомянул об этом. – meskobalazs

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

+0

lol Спасибо. Мне повезло, и я сначала увидел этот вопрос. – CrazyPaste

+0

Не работал для меня. Можете ли вы поставить его на jsfiddle? – ENGR024

Смежные вопросы