29

有人可以解释为什么当我将 datetime-local 输入的默认值设置为:00 以外的秒数时,浏览器会给我一个“无效值”错误吗?

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

Chrome 中的错误:30.0.1599.69

在此处输入图像描述

铬金丝雀:32.0.1665.2 金丝雀

在此处输入图像描述

这有效:

<input type="datetime-local" name="pub_date" value="2013-10-09T15:38:00">

但这不会:

<input type="datetime-local" name="pub_date" value="2013-10-09T15:38:15">

链接到小提琴。

根据datetime-local 输入元素的 W3 规范,value 属性应包含“表示本地日期和时间的字符串”。

Example:
1985-04-12T23:20:50.52
1996-12-19T16:39:57

我尝试了上述两个示例,但它们也不起作用。

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

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

截至今天,快速修复是为非零秒添加 step 属性,如下所示:

<input type="datetime-local" 
       name="pub_date" 
       value="2013-10-09T15:38:15" 
       step="1">
4

3 回答 3

3

这适用于 Chrome 版本 52.0.2743.116 m

<input type="datetime-local" name="pub_date" value="2013-10-09T15:38:15" />
于 2016-09-16T16:51:19.223 回答
1

Chrome 浏览器要求日期为“yyyy-MM-ddThh:mm”,后跟可选的“:ss”或“:ss.SSS”格式。因此,当我们分配日期和时间时,我们需要以所需的格式分配它,否则它不会显示日期时间。我们甚至可以从控制台选项卡中的浏览器检查器工具 [Ctrl+I] 进行确认。

在此处输入图像描述

于 2016-07-08T13:33:34.520 回答
0

Chrome 正在寻找一个完整的时间戳,实际上没有办法放置一个。只需将您的毫秒数归零,您应该会很好。

于 2015-09-23T20:34:34.700 回答