标签到日期字段时如何显示日期选择器对话框

时间:2013-10-07 15:22:12

标签: android jquery date

我编写了一个html5 Web应用程序,在Android 4.0.4上运行时,我注意到以下问题:表单上有两个连续的输入字段,一个是文本字段,另一个是日期字段。如果焦点当前位于文本字段中并且显示虚拟键盘并且虚拟键盘上按下“选项卡”按钮,则焦点将移至日期字段,但日期字段不显示日期选择器对话框。此问题在标准Android浏览器和Chrome中都会发生,如下所示:

使用标准的Android浏览器,当从文本到日期进行选项卡时,即使输入的字段是日期字段并且现在应该显示日期选择器对话框,键盘仍会显示。

使用Chrome时,从文本到日期标签时,键盘会消失,但不会显示日期选择器对话框。

无论哪种方式,这都是不可接受的。当焦点通过Tab键移动到日期字段时,应显示日期选择器对话框(与用户触摸输入类型=日期框时显示日期选择器对话框的方式完全相同)。

这无疑是Android 4.0.4操作系统中的另一个错误,我意识到这个错误充满了这些错误。我的问题是:有什么编程方法可以解决这个问题,以便在使用虚拟键盘选中日期字段时显示日期选择器对话框吗?

3 个答案:

答案 0 :(得分:0)

尝试在标签代码中使用此功能

    $('#datepicker').datepicker('show');

答案 1 :(得分:0)

$("#element").focus(function(){
  $( ".selector" ).datepicker("show");
}

答案 2 :(得分:0)

我假设你正在尝试使用原生日期选择器。

如果您发现只有当您选中日期输入而不是点击它们时才会发生这种情况,请尝试侦听焦点事件,模糊它,删除侦听器,重新聚焦,然后再次添加侦听器。

这可能会使接口无法接受,但是除了指定输入类型之外,没有DOM方法可以告诉您存在什么键盘状态或更改它们。

你会看到这种不一致可悲的是当前的规范:http://mir.aculo.us/2013/08/30/handling-numerical-input-in-mobile-web-apps-or-a-sad-tale-of-two-keyboards/