2014-10-20 800 views
0

我使用HTML5日期格式,我想用当前日期自动填充,但允许更改。HTML5“日期”输入格式,自动填写当前日期

以前用一个简单的文本框,我可以用PHP带回当前日期的形式,但仍然有它编辑的,因为这样:

<input type="text" value="<?php echo date('d/m/Y'); ?>"/> 

但使用date作为输入类型时,将PHP值将被覆盖并替换为dd/mm/yyyy

<input type="date" value="<?php echo date('d/m/Y'); ?>"/> 

Tinygrab screenshot example

任何想法如何使用HTML5新的输入类型,但仍然能够提供一个默认值?

+0

http://www.w3.org/TR/html5/forms.html#date-state - (type = date):_“value属性,如果指定且不为空,则必须具有[有效日期字符串]值(http://www.w3.org/TR/html5/infrastructure.html#有效的日期字符串)。“_ – CBroe 2014-10-20 15:38:06

回答

2

您可以通过JavaScript设置:

document.getElementById('DateField').valueAsDate = new Date(); 

编辑:

它也可以通过PHP如果你改变你显示日期的方式来完成。

<input type="date" value ="<?php echo date('Y-m-d') ?>" 

编辑2:修正了代码,所以它实际上工作。

+0

我不想使用JS,但你的第二个选项不起作用,因为它似乎PHP被HTML5日期属性覆盖。 – Francesca 2014-10-20 09:41:01

+0

对不起,我修好了。 – pyy 2014-10-20 09:46:57

2

只需添加回声和格式的默认值年 - 月 - 日

<input type="date" value="<?php echo date("Y-m-d");?>"> 

jsFiddle

+0

它与回声无关。它不会添加日期,它将始终被默认的dd/mm/yyyy覆盖 – Francesca 2014-10-20 09:33:35

+0

如果您尝试它,您会发现它确实有效。 – davidcondrey 2014-10-20 09:43:28