2013-10-07 3 views
0

Я написал веб-приложение html5, а при работе на Android 4.0.4 я заметил следующую проблему: у меня есть два последовательных поля ввода в форме, один это текстовое поле, а следующее - поле даты. Если в настоящее время фокус находится в текстовом поле, и отображается виртуальная клавиатура и нажата кнопка «tab» на виртуальной клавиатуре, фокус перемещается в поле даты, однако диалоговое окно выбора даты НЕ отображается для поля даты. Эта проблема происходит как в стандартном браузере для Android, так и в Chrome:Как создать диалог выбора даты при вводе в поле даты

Использование стандартного браузера для Android при использовании табуляции с текста на текущий момент отображается на клавиатуре, даже если введенное поле является полем даты и теперь необходимо отобразить диалоговое окно выбора даты.

Использование Chrome при переходе с текста на текущий момент клавиатура исчезает, но диалоговое окно выбора даты не отображается.

В любом случае это неприемлемо. Когда фокус перемещается в поле даты с помощью клавиши табуляции, необходимо отобразить диалоговое окно выбора даты (точно так же, как показано диалоговое окно выбора даты, когда пользователь коснется поля ввода = дата).

Это, без сомнения, еще одна ошибка в ОС Android 4.0.4, которую я понимаю, полна таких ошибок. Мой вопрос заключается в следующем: есть ли что-то программное, что я могу сделать, чтобы обойти это, чтобы диалоговое окно выбора даты появилось, когда поле даты введено в таблицу с использованием виртуальной клавиатуры?

ответ

0

Попробуйте использовать это на коде табуляции

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

Я предполагаю, что вы пытаетесь использовать нативный выбор даты.

Если вы обнаружите, что это происходит только в том случае, если вы вносите вкладку в свои входы даты, а не при нажатии на них, попробуйте прослушивать событие фокусировки, размыть его, удалить слушателя, переориентировать, а затем снова добавить слушателя.

Это, вероятно, сделает интерфейс неприемлемо отрывистым, но не существует методов DOM, которые говорят вам, какое состояние клавиатуры присутствует или изменять их, кроме указания типа ввода.

Вы увидите такой несогласованности, к сожалению, нынешняя норма: http://mir.aculo.us/2013/08/30/handling-numerical-input-in-mobile-web-apps-or-a-sad-tale-of-two-keyboards/

+0

Да, я пытаюсь использовать родной элемент выбора даты. Я хочу, чтобы тот же самый сборщик появился, когда пользователь набрал поле даты, чтобы отобразиться, если они переходят в поле с помощью виртуальной клавиатуры. И да, это происходит только тогда, когда я перехожу к вводу даты, а не при нажатии ввода даты. –

+0

Если размытие и переоризация входного сигнала не устраняет его (или вызывает побочные эффекты), я не знаю другого способа запуска нативного сборщика. Возможно, вы захотите записать отчет об ошибке. – zungaphobia

Смежные вопросы