1

在 HTML5 网站中,我使用新的日期时间输入类型字段和旧浏览器的替代项。

就我而言,日期时间字段用于设置即将发生的事件,因此必须无法设置过去定义的日期时间。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/>

如果我在检查器(Chrome、Opera ...)中检查此代码,则该min标签不存在,如果我尝试在 javascript 中获取它,我会得到undefined. 但是,此标记存在于源代码中(通过浏览器中的 Ctrl+U)。我不明白....

有人有想法吗?提前致谢

4

1 回答 1

1

检查器不会反映你的真实来源,而是根据页面 Dom 生成代码源。

W3C 规范指定 Date 输入必须具有 min 属性 (http://www.w3.org/TR/html5/states-of-the-type-attribute.html#local-date-and-time-state-type-本地日期时间)。当检查器生成源代码时,您会看到它添加了默认属性 min。

编辑您的 min 属性未显示,因为您没有使用良好的格式。HTML 日期格式为 1970-01-01T00:00:00.0 而不是 2012-10-01T13:05:00+02+00。

于 2012-10-01T12:22:35.120 回答