2014-01-08 70 views
0

我一直試圖啓用一個按鈕只能在一天中的某個時間段內,但我無法使它工作..(JS)在一天中的某個時間段內啓用按鈕

我一直在試圖做的事: 該按鈕應該從17:00到22:00(格林威治標準時間+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

你已經失去了括號,你的ID是錯的,這應該工作。

<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語句,但它仍然不能正常工作。 爲了檢查您的提示是否有效,我將disabled = false設置爲disabled = true(反之亦然)。 當我測試新的JavaScript時,該按鈕未被禁用,但仍然處於活動狀態。 (應該不是這種情況,因爲我將false切換爲true) – HViet

+0

根據Marko的回答,這不是唯一的問題... – richsilv

+0

看到了。感謝您的幫助;) – HViet

相關問題