2012-05-13 5 views
4

Итак, у меня есть мастер форм, который существует в слайдере. Вся идея состоит в том, чтобы заставить людей основываться на своих решениях. Проблема в ipad. На iPad это позволяет вам ударить [предыдущий | следующий], чтобы перемещаться по полям формы, и это нарушает стратегию стробирования.iPad форма отключена [предыдущая | next]

В настольных браузерах я подавил клавишу TAB, вернув false при нажатии на закрытые поля. Но на iPad я не вижу решения.

Я пробовал tabindex и установил стробированные входы в -1. Проблема здесь в том, что после того, как они двигаются через ворота, кнопки [предыдущие | следующие] реагируют и все испортили.

Есть ли способ, которым я могу удалить эти кнопки вместе? Или захватить их как событие js?

(Примечание это мобильный веб-страница, а не приложение)

ответ

3

Способ, которым я решил эту проблему, состоял в disable и установил visibility: hidden на любые элементы формы, с которыми пользователь не сможет выполнить табуляцию. Это боль в попке, но она хорошо работает на iOS 5.

0

Вы можете захватить OnFocus и ONBLUR события ваших различных элементов, и есть какая-то логика решить, если это разрешено или нет, в зависимости от ваших потребностей. Результат будет нажатием «Далее» и останется на месте.

+0

Да, это то, что я закончил делать, но это делает плохой UX. – Fresheyeball

+0

Ну, кнопки не могут быть удалены, они всегда находятся в окне клавиатуры, отображаемом Safari. Это довольно хакерски, чтобы удалить их даже в UIWebView в приложениях iOS. Возможно, вы могли бы поместить каждое поле в свою форму, что может смутить следующее/предыдущее и отключить их. –

+0

Я тоже пробовал :(и, к сожалению, в приложении не может быть и речи. – Fresheyeball

1

Вы можете использовать touch-input-nav.js для автоматического отключения полей ввода, которые не содержатся в той же форме, что и элемент управления, который в настоящее время имеет фокус. Это, по сути, автоматизированный способ решения Бена. Найдено через this answer.

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