Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: USE от 21 Октября 2003, 14:27:46

Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: USE от 21 Октября 2003, 14:27:46
задача: есть форма с множеством полей (текстовые поля, селекты, радио, чекбоксы) при нажатии Enter необходимо, чтобы фокус перемещался на другое поле (елемент). чтобы было как в бухгалтерских программах.

требования: работоспособность в Mozilla и IE
Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: MadDog от 21 Октября 2003, 15:02:13
USE
А клавиша TAB не подходит?

P.S. Скорее всего переключение с помощью Enter в textarea наверняка работать не будет, потому что будет работать так, как и положено.
Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: USE от 21 Октября 2003, 15:30:09
Цитировать
MadDog:
А клавиша TAB не подходит?

в этом как раз и дело что не подходит. очень неудобно набирать одной рукой и цифры на цифровой клаве и таб нажимать совершенной в другой стороне клавы. другая рука занята линейкой и бумажкой, которая следит, чтобы не сбиться.
Цитировать
MadDog:
P.S. Скорее всего переключение с помощью Enter в textarea наверняка работать не будет, потому что будет работать так, как и положено.

можно сделать. уже кое-что нашел.

















но не работает в мозилле 1.5 попробуйте как у вас плиз.
Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: MadDog от 21 Октября 2003, 16:32:41
Цитировать
USE:
но не работает в мозилле 1.5

Не тоже не работает, ни в Мозилле, ни FireBird\'е (хотя это почти одно и тоже). Скорее всего что-то не так или чего-то не хватает в функции netscapeKeyPress. Я бы подсказал чего, только не дока я в Яве. :)
Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: USE от 21 Октября 2003, 17:26:35
пример взят из http://developer.irt.org/script/script.htm
Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: mike от 21 Октября 2003, 18:17:04
Вот, чуть исправил. Работает в NN, Мозилле и MSIE.
















Вдогонку: вот только это уже не будет microsoftKeyPress :)
Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: USE от 21 Октября 2003, 18:58:42
mike, спасибо. будем пробовать что-то крутить.
Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: USE от 23 Октября 2003, 10:06:48
получилось что-то вроде:











Отлавливаем нажатие клавиши Enter
















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










Отлавливаем нажатие клавиши Enter
















тогда была реакция только на ентер, а все остальные игнорировались. что посоветуете?
Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: mike от 23 Октября 2003, 12:06:18
return true, если нужно отобразить то, что нажато:











Отлавливаем нажатие клавиши Enter














Название: Как осуществить переход между полями формы нажатием клавиши Enter
Отправлено: USE от 24 Октября 2003, 11:00:11
mike
спасибо за помощь и за решение проблемы.

как кривая альтернатива - использование String.CharCodeAt:










Отлавливаем нажатие клавиши Enter












TrueFalse


TrueFalse