Google Chrome输入法类型=“日期”

时间:2011-08-30 12:48:50

标签: html google-chrome

我几乎不了解网络编程,但我的任务是在我公司的网站上解决问题。显然,我在使用type =“date”的旧网站上使用HTML5的浏览器存在问题,我需要找到解决方法。

我的网站有很多日期字段,用户必须输入这样的字段:

 <input type="date" name="DateStart" size="15" value="8/30/2011">

在我们目前使用的除Chrome之外的每个浏览器中,这都可以。 Chrome是唯一提供滚动按钮以滚动日期的浏览器。我在后面看到的是尝试这样做:

FormatDateTime(DateStart, 2)

我收到无效的日期错误,这意味着我们无法使用Chrome填写此表单。有没有解决这个问题的方法?

4 个答案:

答案 0 :(得分:28)

实际上,chrome对'date'的支持已被打破。 (See here)。至少目前。

在HTML中使用'date'绝对没问题 - 不知道或支持输入类型的浏览器应该回退到type ='text'。

目前,chrome部分支持日期,其方式基本上已经破解(它添加了几个上下按钮,但没有添加日期选择器。)

当然,你需要记住,如果 使用type ='date',and if the browser supports it,那么你将要禁用任何datepicker支持你否则正在使用。

更新(2012年2月6日):

在我看来,现在已经修复了。 Chrome不再声称支持input type ='date',并且不提供部分完整的实现。

更新(2012年8月17日):

Chrome 现在有input type="date" support,而且这次更实用。

答案 1 :(得分:7)

Chrome没有日期输入问题,you are using the wrong date-format,先生。 Chrome不是今天唯一支持新HTML5输入的浏览器。例如,Opera会在带有type="date"的输入上显示带有日历的下拉列表。

HTML5-date-inputs上也不存在size-attribute。

答案 2 :(得分:4)

输入类型=输入的值字段必须采用yyyy-MM-dd格式。 Check the W3 standards on this.

这意味着您必须执行类似DateTime.Now.ToString(“yyyy-MM-dd”)的操作。在你的代码中,我会建议一个自定义的HtmlHelper。

浏览器中日期的格式完全取决于您的系统设置。

答案 3 :(得分:0)

使用此日期格式:date("Y-m-d");