HTML5 Mobile Safari DatePicker - 初始值

Posted

技术标签:

【中文标题】HTML5 Mobile Safari DatePicker - 初始值【英文标题】:HTML5 Mobile Safari DatePicker - Initial Value 【发布时间】:2012-04-20 09:42:10 【问题描述】:

我们正在开发一个 .NET MVC 移动网站。我了解在 iPhone 上,移动 safari 将为以下输入字段显示日期选择器:

<input type="date"/>

我们有一个标准的日期选择器助手,它为各种平台吐出日期选择器选项。在这种情况下,我们检测到移动 safari,然后写出一个绑定到我们模型的输入字段:

<input name="StartDate" value="2008/12/21" type="date"/>

问题在于加载时未显示值部分。我们可以输入新值,并将它们保存回我们的数据库。但是当我们重新加载页面时,这些值不会显示在字段中。如果我们再次保存,我们的值会在 db 中全部设置回 null。

我注意到,当您在 iPhone 上选择带有***的日期时,文本字段的值以类似于“2012 年 4 月 6 日”的格式结束,我希望它显示 2012/04/ 06 或 2012 年 4 月 6 日。

我的猜测是移动 safari 显示字段的不同属性,然后在幕后适当地设置 value 属性。

有人知道这是怎么回事吗?谢谢!

【问题讨论】:

使用 Modernizr 来计算能力。见blogs.msdn.com/b/rickandy/archive/2011/08/31/… 和asp.net/mvc/tutorials/javascript/… 值得注意:ios Safari 存在设计缺陷,用户可以更改日期,但不能空白日期输入。 【参考方案1】:

AFAIK 日期必须符合 RFC3339。你试过2008-12-21(用破折号代替斜线)吗?

<input type="date" value"yyyy-MM-dd" />

【讨论】:

MVC 让我跳过了一些障碍,甚至像我想要的那样输出,但这确实是问题所在。谢谢!

以上是关于HTML5 Mobile Safari DatePicker - 初始值的主要内容,如果未能解决你的问题,请参考以下文章

让 WebSocket 在 Mobile Safari 中保持活跃

jQuery Mobile 自定义选择菜单适用于 Mobile Safari,但不适用于 UIWebView

在 Mobile Safari 中禁用同源策略

动态添加 HTML5 日期元素 iOS Safari

从 iPad 上的列表中卸载页面时,如何防止 mobile-safari 跳转?

使用iOS 5 Mobile Safari自动播放音频,还有其他解决方法吗?