Как переместить (или снять) фокус ввода с элемента формы.

xintrea

Новичок
Как переместить (или снять) фокус ввода с элемента формы.

Здравствуйте.

Вопрос по JavaScript возник.

Обнаружилась неприятная особенность браузера Internet Explorer. Если из выпадающего списка (тэг <SELECT>) выбрать какой-нибудь пункт, то фокус ввода остается на этом выпадающем списке. И если покрутить колесико мышки, то WEB-страница не будет скроллироваться вверх-вниз (как ожидает пользователь), а будут переключаться пункты в этом выпадающем списке.

Вопрос. Как можно снять фокус ввода с элемента "выпадающий списк" или хотябы перенести на другой элемент, например на именованый (помеченый идентификатором) <span>-тэг?
 

Гравицапа

elbirret elcno
xintrea
А зачем переносить фокус?
А если пользователь передумает и захочет из select выбрать другой вариант, а ты ему уже фокус перевёл?
 

hermit_refined

Отшельник
Обнаружилась неприятная особенность браузера Internet Explorer.
И если покрутить колесико мышки, то WEB-страница не будет скроллироваться вверх-вниз (как ожидает пользователь)
есть подозрение, что пользователь вполне в курсе этой особенности, и если до сих пор пользуется ie - значит привык, смирился и ожидает именно такого поведения.
(к тому же перенос фокуса сделает невозможным изменения значения клавиатурой - и уже не только в ie).
 

BRat

o_0
http://developer.mozilla.org/en/docs/DOM:element.blur . Когда вызывать - решай сам
 

xintrea

Новичок
Спасибо, тока что-то не работает blur() в IE 6.0.2800, хотя вроде как должнет в любом IE 5+ работать.

Вот мой код:

Код:
<script lanuage="JavaScript"><!--
function update_contact_info()
{
 document.getElementById("contact_info_list").blur();
}
//--></script>

<SELECT id="contact_info_list" name="contact_info_list" 
       size="1" onChange="update_contact_info();">
       <OPTION value="1172870222">г.Волгодонск, РФ</OPTION>
       <OPTION value="1172870538">г.Тула, РФ</OPTION>
       <OPTION value="1172870539">г.Воронеж, РФ</OPTION>
       <OPTION value="1172870548">г.Екатеринбург, РФ</OPTION>
       <OPTION value="1172870549">г.Брянск, РФ</OPTION>
       <OPTION value="1172870550">г.Армавир, РФ</OPTION>
</SELECT>
Пробовал и вызов

onChange="update_contact_info(); this.blur();"

- тоже не помогает. Что не так делаю?
 

BRat

o_0
xintrea
всё правильно делаешь. Только что проверил - для элемента select метод blur в IE не работает
Переноси тогда фокус на какой-нибудь элемент управления
http://developer.mozilla.org/en/docs/DOM:element.focus
 

xintrea

Новичок
Да, так и есть. Перенос фокуса работает.

Жалко только, что нельзя перенести фокус на hidden-элемент. Обязательно нужно переносить на видимый элемент.
 
Сверху