2013-10-03 2 views
2

Я такую ​​ситуацию в веб-приложение, я работаю над:помещая фокус на поле ввода в IE

У меня есть форма с набором значений полей индекса, пользователь вводит информацию в и затем отправляет форму к серверу. Проверка поля выполняется на сервере. Если какое-либо поле окажется недействительным, форма снова отображается, и я хочу, чтобы фокус ввода автоматически перешел в первое недопустимое поле. У меня есть код, чтобы это произошло, но проблема в том, что фокус не размещается на поле в IE 10 (но он помещается в Firefox).

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

ответ

1

Только что попробовал это в консоли для тестирования в IE. Следующий код работал отлично, когда тестирование фокусировалось на текстовой области «Разместить ответ» на этой странице.

setTimeout(function() { document.getElementById("wmd-input").focus() }, 5000);

Может быть, есть что-то еще в вашем коде вмешиваясь в центре внимания? Вы пытались расширить значение таймаута, чтобы узнать, связано ли это с этим?

+0

Я попытался расширить его до 5 секунд, и он все еще не размещал фокус на поле в IE10. –

0

Вы пытаетесь установить haxx вокруг загрузки DOM этой строкой вправо?

setTimeout(focusIndexField(indexfirstinvalidfield), 100); 

Эта строка не работает должным образом. FocusIndexField выполняется мгновенно, и отклик функции задерживается на 100 мс функцией setTimeout.

Это будет работать, как вы ожидаете:

setTimeout(function() {focusIndexField(indexfirstinvalidfield)}, 100); 

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

+0

Вы правы в функции setTimeout, но изменение его, как вы сказали, не заставило поле получать фокус в IE 10. Также не выполнял код, когда документ готов, с или без таймаута. IE10 не соблюдает метод focus(). –

+0

Возможно, вам стоит попытаться воспроизвести проблему в JS-скрипке, чтобы получить html-код? –

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