2014-01-08 4 views
0

Я пытался включить кнопку только через определенный промежуток времени в день, но я не могу заставить ее работать.(JS) Кнопка включения в течение определенного периода времени в

То, что я пытаюсь сделать: Кнопка должна быть включена с 17:00 до 22:00 часов (GMT +1). я написал сценарий с помощью сайтов, где люди запрашивающих подобной системы, но я не могу заставить его работать .. Я надеюсь, что вы можете помочь мне

Извините за мой английский ^^

Вот сценарий:

<input class="submit" type="submit" id="checktime" value="Check"/> 

<script type="text/javascript" defer="defer"> 
<!-- 
var enableDisable = function(){ 
var UTC_hours = new Date().getUTCHours() +1; 
if ((UTC_hours == 17) && (UTC_hours == 18) && (UTC_hours == 19) && (UTC_hours == 20) && (UTC_hours == 21) && (UTC_hours == 22)){ 
document.getElementById('checktime').disabled = false; 
else 
document.getElementById('checktime').disabled = true; 
} 
setInterval(enableDisable, 1000*60); 
enableDisable(); 
// --> 
</script> 
+1

FWIW Не забудьте также защитить бэкэнд. – VisioN

+0

@VisioN Никогда раньше не делал javascript, поэтому я не понял, о чем вы говорите: P – HViet

+0

@ user3174114 javascript - это клиентский язык, то есть пользователь может изменять/редактировать его по своему усмотрению. Если вы полагаетесь на отключенную кнопку из соображений безопасности, убедитесь, что вы также проверяете время на стороне сервера (php, ruby, C#, все, что вы используете). – Snuffleupagus

ответ

1

У вас отсутствовали скобки, и ваш идентификатор был неправильным, это должно сработать.

<input class="submit" type="submit" id="checktime" value="Check"/> 

<script type="text/javascript" defer="defer"> 
<!-- 
var enableDisable = function(){ 
    var UTC_hours = new Date().getUTCHours() +1; 
    if (UTC_hours > 16 && UTC_hours < 22){ 
     document.getElementById('checktime').disabled = false; 
    } 
    else 
    { 
     document.getElementById('checktime').disabled = true; 
    } 
}; 
setInterval(enableDisable, 1000*60); 
enableDisable(); 
// --> 
</script> 
+0

Спасибо большое! :) – HViet

+0

Понял, что с id .. отредактировал мой первый пост, но я думаю, это было немного слишком поздно :) – HViet

+0

:) Пожалуйста, отметьте это как ответ, рад, что я мог бы помочь. – Marko

1

if заявление не будет работать, как это; вы проверяете, будет ли час 17 И 18 И 19 И ..., что, очевидно, никогда не будет так, поскольку это не может быть все эти часы одновременно. Это должно быть:

if (UTC_hours > 16 && UTC_hours < 22) 

Это гарантирует, что это не менее 5 вечера, но до 10 вечера.

+0

Хорошо, я изменил эту инструкцию IF, но, похоже, она работает неправильно. Чтобы проверить, работает ли ваш совет, я отключил = false для disabled = true (и наоборот). Когда я протестировал новый javascript, кнопка не была отключена, но все еще активна. (что должно быть не так, поскольку я переключил false на true) – HViet

+0

Как ответ Марко, это была не единственная проблема ... – richsilv

+0

Пила это. Спасибо за помощь;) – HViet

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