У меня есть страница на сайте, содержащая iframe с формой. Я не могу изменить это, но у меня есть полный контроль над всем JS, который работает на родительской странице и на странице iframe'd.Почему я не могу вставлять элементы формы внутри iframe?
Моя проблема заключается в том, что когда у меня есть поле формы, сфокусированное в документе iframe'd, табуляция в следующее поле отправляет курсор прямо в адресную строку браузера, а не следующее поле в форме. Установка tabindexes в каждом из полей не помогает.
Браузер обрабатывает весь сам iframe как один из элементов на странице (как и должно быть), но мне интересно, есть ли способ захватить события вкладки и заставить фокус оставаться внутри iframe и с его дочерними элементами.
Есть ли у вас какие-либо проблемы с этим вопросом раньше и есть способ обойти его?
Не то, что это поможет, но расположение что-то вроде:
+-------------------------------------------+
| Parent page |
| +-------------------------------+ |
| N | iframe | |
| a | | |
| v | Has about 50 fields that I'd | |
| i | like to be able to tab between| |
| g | | |
| a | But I can't! Help! | |
| t | | |
| i +-------------------------------+ |
| o |
| n |
+-------------------------------------------+
Одна идея состояла в том, чтобы попытаться захватить KeyDown события в IFRAME, проверьте вкладку или Shift + Tab, а затем переориентировать iframe, но тогда есть проблема знать, в каком поле я был включен, прежде чем потерять фокус. Есть ли способ динамически сфокусировать следующее поле с использованием JS и атрибута tabindex в полях формы? Может быть, где я рискую дальше ...
Update:, возможно, есть что-то еще проще, что я пропускаю. Например, окно входа в http://www.studentloan.com является iframe, и я могу вставить вкладку между этими полями. Возможно, что-то еще в моем JS вызывает проблему.
Update 2: Я попытался ЗАГРУЗКА только документ Iframe в браузере в качестве отдельной страницы, и я до сих пор не могу вкладку. Я думаю, что это то, что я делаю в JS где-то еще, что заставляет документ терять фокус. Я отправлю свое решение, когда найду его.
Update 3:
Проблема вызвана ModalPopupExtender Аякса Control Tookit в. Я использую одно как сообщение загрузки после вызова веб-службы. Он скрывается при запуске метода обратного вызова.
Я могу вставить вкладку между полями, пока всплывающее окно Modal не будет показано и не будет скрыто в первый раз. После этого форма никогда не сможет сосредоточиться. Я изучаю, почему и отправлю ответ, если я смогу выяснить, почему.
Спасибо!
Ты точно прав. У меня есть куча MPE, которые работают очень хорошо, был только один проблемный (у него не было полей формы - интересно, было ли это частью проблемы). Спасибо, что вернулись, чтобы опубликовать это! –