在HTML5 datetime-local输入中设置默认值时,"值无效"

dor*_*emi 26 html5 google-chrome

有人可以解释为什么当我使用除00以外的秒设置datetime-local输入的默认值时,浏览器会给出错误"无效值".

这可能是Chrome在datetime-local实现中的一个错误,因为此错误未出现在最新的Firefox和Safari中.

Chrome中的错误:30.0.1599.69

在此输入图像描述

Chrome Canary:32.0.1665.2金丝雀

在此输入图像描述

这有效:

<input type="datetime-local" name="pub_date" value="2013-10-09T15:38:00">
Run Code Online (Sandbox Code Playgroud)

但这不是:

<input type="datetime-local" name="pub_date" value="2013-10-09T15:38:15">
Run Code Online (Sandbox Code Playgroud)

链接到小提琴.

根据datetime-local input元素W3 Spec,value属性应包含"表示本地日期和时间的字符串".

Example:
1985-04-12T23:20:50.52
1996-12-19T16:39:57
Run Code Online (Sandbox Code Playgroud)

我尝试了上面两个例子,但它们也没有用.

更新:确认错误和解决方案

这种行为是一个已知的错误.

截至今天,快速修复是为非零秒添加步骤属性:

<input type="datetime-local" 
       name="pub_date" 
       value="2013-10-09T15:38:15" 
       step="1">
Run Code Online (Sandbox Code Playgroud)

小智 3

这适用于 Chrome 版本 52.0.2743.116 m

<input type="datetime-local" name="pub_date" value="2013-10-09T15:38:15" />
Run Code Online (Sandbox Code Playgroud)