使用JavaScript在移动Safari上将值设置为输入类型=“日期”

时间:2014-05-19 23:39:34

标签: javascript date safari

我有一个JavaScript函数,可以从弹出日历中设置<input type="date"/>(不是datetime)的值,以支持没有日期选择器的浏览器。单击输入时,会弹出日历并允许选择日期。

为了防止用户输入任意信息(尽管它无论如何都是经过验证的服务器端),该字段也是只读的,这也有助于指示他们使用日历。所有这些功能都依赖于JS,因此如果禁用它,则日期字段将照常工作。

这适用于除iPad / iPhone上的Safari之外的所有浏览器,它将值设置为空。日期的当前格式为dd/mm/yyyy。 Safari期望有特定的格式吗?

2 个答案:

答案 0 :(得分:0)

您可以伪造日期字段,使用图像作为按钮的背景,并使用该日期设置隐藏字段。

答案 1 :(得分:0)

我使用的最终解决方案(因为我无法让Safari识别任何输入)是在附加所有JavaScript挂钩并添加readonly属性后将类型更改为文本。这使得Safari可以像所有其他浏览器一样运行,但在禁用JavaScript时仍可正常工作。