我正在使用HTML datetime-local
元素從用戶獲取日期時間。此輸入字段的問題在於,它允許用戶輸入無法轉換爲JavaScript對象的值。一些可能投入太大,比如下面的日期是太大:是否有可能使HTML datetime-local元素只產生有效日期?
這是當我使用JavaScript它的價值會發生什麼:
var input = document.getElementById("__Date");
var time = input.value; // is "121212-12-12T12:12" right now
var value = new Date(time); // I get an error here - "Invalid Date"
下面是完整的元素題。我正在使用Google Chrome v37來運行此代碼。
<input type="datetime-local" class="input-block-level EditableAttributeValue" autocomplete="off" autocorrect="off" id="__Date" max="2015-00-00T00:00:00:00">
我需要一種方法,以禁止這些無效輸入,優選不使用任何JavaScript來收聽變化和手工驗證輸入。
沒有JavaScript就無法真正做到。你受到瀏覽器的支配。去一個JavaScript解決方案,有很多日期/時間格式庫,以及大量的日期/時間選擇器。 – mason 2014-08-29 19:13:54
JavaScript代碼與HTML代碼(不同的'id'值)不匹配。馬庫肯定你包括*真實*代碼,再現這個問題。 – 2014-08-29 19:15:31
在HTML中有最大的屬性,爲什麼不解決這個問題? – 2014-08-29 19:18:57