2012-08-22 125 views
2

我正在Chrome本地WAMP,PHP版本5.我使用輸入類型日期,它顯示日曆。事實上,我在用戶的數據編輯頁面中獲得了一些變量。我所關心的是收集所有數據。但是,對於日期,而不是在數據庫中顯示記錄(由var_dump確認),他顯示一個佔位符​​輸入類型日期html5和從數據庫接收數據

這不關心我,我想這個佔位符當且僅當我的字段爲空。

下面是該領域的語法:

<input name="datedepart" type="date" value="<?php echo date('d/m/Y',strtotime($data["congestart"])) ?>"/> 

有沒有一個辦法?

收到親愛的我最崇高的敬意。

+0

RFC表示值屬性需要格式爲YYYY-MM-DD的日期,例如1996-12-19。嘗試日期('YM-D',strtotime ... –

回答

11

是的,它可能會足以改變日期格式爲ISO,像2012-08-22:

<input name="datedepart" type="date" 
value="<?php echo date('Y-m-d',strtotime($data["congestart"])) ?>"/> 

如果你的服務器需要一些其他的格式,你將它使用JavaScript來轉換( ISO是HTML5規範中使用的標準,因此無論Chrome如何顯示,輸入字段的值始終爲ISO)。

更新,澄清:

日期字段只能包含一個有效的日期。當您嘗試將其設置爲某些隨機垃圾時,則該值將變爲空。當該值爲空時 - Chrome會顯示佔位符。 HTML5中唯一有效的日期格式是ISO:2012-03-04。剛剛嘗試,看看:

<input value='2004-02-12' type='date'> 
+0

我試過這也不起作用 –

+0

我們使用本地格式dmY事實上,沒有任何顯示只是默認的佔位符,這是Jours/Mois /Année –

+0

但你能告訴我爲什麼chrome只顯示佔位符而不是值嗎?morover沒有佔位符chrome放置它自己的佔位符 –

1

使用

placeholder="<?php echo date('d/m/Y',strtotime($data["congestart"])) ?>" 

,而不是把它的價值。

如果這不能解決答案,那麼再解釋一下你想做什麼?

+0

感謝幫助它實際上不工作,它始終顯示默認佔位符Jours/Mois /Année –

+0

http://www.w3schools.com/html5/html5_form_input_types.asp < - 檢查此。 – devWaleed

+0

我已經檢查過這個問題,因爲它來自數據庫,所以我的輸入的值確實存在於值中。這不是顯示,當我將它保存到數據庫時,它變成1970/01/01 –

0

這個作品非常好,從fdreger

<input name="datedepart" type="date" value="<?php echo date('Y-m- d',strtotime($data["congestart"])) ?>"/> 

我需要同樣的事情。

0

我知道它的舊線,但我認爲這可能是有人

嘗試使用最小值和最大值,那麼這將挑選您提供的價值有幫助的。

<input type="date" min="2014-09-08" max="2018-09-08" value="2015-02-24" > 
0

它爲我工作

<input class="form-control calendar" name="datedepart" required="" type="date" id="datedepart" aria-required="true" value="<?php echo date('Y-m-d',strtotime($data["congestart"])) ?>"> 
0

什麼工作對我來說是圍繞從PHP返回的值去掉引號,所以在你的代碼的情況下,它會嘗試這樣的:

<input name="datedepart" type="date" value=<?php echo date('d/m/Y',strtotime($data["congestart"])) ?>/> 
相關問題