2012-04-18 101 views
4

我有一个页面,其中有一些输入类型=“文本”,附带一个jQuery UI日期选择器,它以格式“2012年2月14日”格式输入字段。大。现在我需要调整移动/小屏幕界面。我遇到的问题是,当iPhone用户点击文本输入时,会出现jQuery datepicker,iOS也会显示它的原生文本输入键盘。HTML输入jQuery UI日期选择器vs iOS本机日期输入

我试着使用Modernizr来检测html5 inputtype = date的可用性,如果它可用并禁用jQuery datepicker并将输入类型切换为“date”,那么理解这种设备就可以使用它们的本机输入。但是,这会输入后端系统不理解的格式“2012-02-14”的日期。根据“2012年2月14日”格式的日期完成了大量工作。所以如果任何人都可以帮助,我正在寻找一种方法来获得只有jQuery UI日期选择器出现在所有系统上,或为解决方案,这意味着本机日期/文本输入可以被迫输入格式“14 2012年2月“。

回答

1

不幸的是,datepicker格式不能被覆盖,因为它被绑定到用户的系统设置。

尽管事实上你可以做的事情是让脚本根据可用技术(例如Modernizr.inputtypes.date)从type =“text”到type =“date”进行动态切换。

从那里你可以嵌入一个隐藏的字段,并将当前日期字段的名称转换为该隐藏字段,然后从本地日期选择器将日期格式解析为所需的格式并设置隐藏字段的值。

<input type="date" name="userSetDate"/> 

这样:

<input type="date"/> 
<input type="hidden" name="userSetDate" value="mm/dd/yyyy"/> 

然后困难将被解析所述用户定义的格式插入需要的格式,因为格式变化:

13年10月6日 - >是即2013年10月6日或2013年6月10日?


现在你可以做一些东西incorproates上层溶液状造型的标签,看起来像一个按钮,应用精确的[供]属性,并有日期选择器领域是一个类型=“隐藏”和应用日期选择器。

<label for="fooDate">test</label> 
<input type="hidden" name="fooDate" id="fooDate"> 

<script> 
$('#fooDate').datepicker(); 
</script> 

希望你是(是,注意到这张贴的日期)能够弄清楚!

相关问题