Программирование > JavaScript & JScript
какой элемент формы в фокусе?
Forza:
Как определить, какой элемент формы в данный момент выбран (находится в фокусе)?
Конкретно надо по нажатию на Enter в одном из однострочных текстовых полей формы определить это текстовое поле и определённым образом сабмитить форму.
Т.к. такого свойства у текстового поля не нашёл, приходит в голову на каждое текстовое поле ставить обработчик onFocus, который будет присваивать некой глобальной переменной имя выбранного поля. Но, наверное, можно и попроще. :confused:
Макс:
могу предложить такой вариант :
--- Код: ---
var last_focused = \'\';
function show_element_name() {
if (event.keyCode != 13) return true;
elem = event.srcElement;
last_focused = elem.name; // записываем имя поля в переменную
alert(last_focused);
}
--- Конец кода ---
Forza:
Супер! Большое спасибо. То, что надо.
На самом деле мне достаточно было указания на существования свойства srcElement у объекта event (нажатие на Enter я уже умею отлавливать), но за развёрнутый ответ двойное спасибо! :appl:
Forza:
Ещё маленький вопрос. А в чём принципиальное различие событий onKeyPress (я его использовал) и onKeyDown (ты его использовал)?
Если можно, пример, когда эти различия будут существенны...
Forza:
И снова вопрос! ;)
В других броузерах, кроме IE, такая фишка (знать, где на странице был нажат Enter) вообще реализуема? Похоже, что у NN вообще нет srcElement, связанного с Event.
Навигация
Перейти к полной версии