2009-09-28 2 views
2

Мы используем портативный сканер для перемещения предметов в инвентаре и из него. Сканер запускает страницу ASP, которая отправляет форму для перемещения элемента. Недавно мы купили новый сканер под управлением Windows Mobile 6.1 и вскоре поняли, что Mobile IE полностью бесполезен. Он не отображает таблицы правильно и хуже, он не распознает onblur, onkeypress и многие другие общие функции javascript.Opera Mobile 9.7 Beta Set Focus

Мы протестировали множество мобильных браузеров и обнаружили, что Opera Mobile 9.7 отлично работает, за исключением того, что вы настраиваете фокус на текстовое поле ввода при загрузке страницы. На странице есть много текстовых полей, которые и отправляют форму для обработки. Как только одно поле сканируется (или вводится на клавиатуре), форма отправляет себя, обрабатывает ввод и разрешает следующее поле в форме. В конце разметки select() и focus() вызывают для выбора любого текста в поле и для установки фокуса, поэтому все, что нужно сделать пользователю, - это проверить значение. Вот как выглядит javascript в конце страницы.

document.forms ["frm1"]. Elements ["txt1"]. Select(); document.forms ["frm1"]. Elements ["txt1"]. Focus();

Есть ли способ установить фокус на Opera Mobile 9.7?

+0

Вы пробовали оборачивать эти 2 строки в 'setTimeout' с короткой задержкой? – kangax

+0

Я пробовал ваше решение, но оно не работает. Когда я завершаю его в setTimeout, метод select() также не работает. Методы focus() и select() определены, потому что, если я помещаю alert (document.forms ["frm1"]. Elements ["txt1"]. Focus); это говорит мне, что это метод. – awilinsk

+0

Это странно. Единственное другое «исправление», которое я могу придумать, это добавить явный 'tabIndex' для ввода элемента (tabIndex =" - 1 ", например). Если это не сработает, вполне возможно, что Opera не поддерживает программный фокус. – kangax

ответ

1

Вы можете использовать автофокус для поля ввода в Opera 9.7, как это: < тип ввода = «текст» автофокусировка/>

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

+0

+1 - это действительно работает – Meisner

+0

это не работает в Opera Mobile 10! (И я не знаю, как найти 9.7 :() – Illuminati