2012-10-01 51 views
1

在HTML5網站中,我使用新的日期時間輸入類型字段和舊瀏覽器的替代方法。HTML5 datetime min屬性

就我而言,datetime字段用於設置即將發生的事件,因此不可能設置過去定義的日期時間。 min屬性應該允許我這樣做,但它似乎不起作用,而它在日期或時間輸入字段上執行該作業。

這裏是我的代碼(編輯視圖,但在添加視圖同樣的問題):

<input type="datetime-local" id="EventDatetime" name="data[Event][datetime]" step="900" min="<?php echo date(DATE_RFC3339); ?>" value="<?php echo $event->date; ?>" required/> 

應該給:

<input type="datetime-local" id="EventDatetime" name="data[Event][datetime]" step="900" min="2012-10-01T13:05:00+02+00" value="2012-11-01T13:05:00+02+00" required/> 

如果我在巡視檢查這個代碼(鉻,歌劇...),min標記不存在,如果我嘗試使用javascript,我得到undefined。但是,該代碼存在於源代碼中(通過瀏覽器中的Ctrl + U)。我不明白....

有沒有人有想法?在此先感謝

+0

我在檢查員中看到'min',並附有您的確切代碼(複製/粘貼)。 –

+2

我使用Opera 12.02和Chrome 21測試了代碼,並且一切正常,您是否使HTML5符合HTML頁面,即通過添加頂級<!doctype html>? – bodi0

+0

如果我將我的頁面提交給驗證程序,我得到以下錯誤:對於元素輸入屬性min,錯誤值爲2012-10-01T14:24:39 + 02:00。字面值不符合本地日期時間格式。 ,根據W3C驗證器(使用HTML5實驗驗證程序),沒有其他錯誤 – bgondy

回答

1

檢查員並不反映你的真實來源,但生成一個代碼源的基礎上的網頁Dom。

W3C規範指定Date輸入必須具有min屬性(http://www.w3.org/TR/html5/states-of-the-type-attribute.html#local-date-and-time-狀態型的datetime本地)。當檢查員生成源代碼時,您會看到它添加默認attribut分鐘。

編輯 您的min attribut未顯示,因爲您沒有使用正確的格式。 HTML日期格式爲1970-01-01T00:00:00.0而非2012-10-01T13:05:00 + 02 + 00。

+0

我同意你的看法,但它不告訴我爲什麼min屬性被忽略。 – bgondy