我有一个页面,有一些输入的type=“文本”与一个jQuery用户界面数据报警器,它输入日期的格式“2012年2月14日”的字段。太棒了。现在,我需要对移动/小屏幕的界面进行调整。我遇到的问题是,当iPhone用户点击文本输入时,jQuery数据报警器就会出现,而iOS也会显示它的原生文本输入键盘。
我试着使用现代图来检测html5 inputtype=date可用性,并在可用时禁用jQuery数据报警器,并将输入类型切换到"date“,以便理解这一点的设备可以使用它们的本机输入。但是,这将进入后端系统所不理解的格式"2012-02-14“上的日期。根据“2012年2月14日”格式到达的日期,已经做了大量工作。
因此,如果有人能提供帮助,我正在寻找一种方法,使jQuery用户界面数据报警器只出现在所有系统上,或者寻找一种解决方案,这意味着可以强制输入“2012年2月14日”格式的本地日期/文本输入。
发布于 2013-06-17 18:51:10
不幸的是,由于数据交换格式被绑定到用户的系统设置,所以不能被覆盖。
实际上,您可以做的是让脚本根据可用的技术(例如,type=)从“text”切换到type="date“。
从这里,您可以嵌入一个隐藏字段,并将当前日期字段的名称转换为该隐藏字段,然后将日期格式从本机datepicker解析为所需的格式,并设置隐藏字段的值。
<input type="date" name="userSetDate"/>对此:
<input type="date"/>
<input type="hidden" name="userSetDate" value="mm/dd/yyyy"/>然后,困难将是将用户定义的格式解析为所需的格式,因为格式的变化:
10-06-13 ->2013年10月6日还是2013年6月10日?
现在,您可以做一些与顶级解决方案不相关的事情,比如将标签样式设计成一个按钮,应用一个精确的for属性,并让datepicker字段成为一个“隐藏”的type=,并对其应用数据报警器。
<label for="fooDate">test</label>
<input type="hidden" name="fooDate" id="fooDate">
<script>
$('#fooDate').datepicker();
</script>希望你(曾经,注意到了这一发布的日期)能够弄清楚!
https://stackoverflow.com/questions/10207214
复制相似问题