Автор Тема: Как осуществить переход между полями формы нажатием клавиши Enter  (Прочитано 6203 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
задача: есть форма с множеством полей (текстовые поля, селекты, радио, чекбоксы) при нажатии Enter необходимо, чтобы фокус перемещался на другое поле (елемент). чтобы было как в бухгалтерских программах.

требования: работоспособность в Mozilla и IE
« Последнее редактирование: 21 Октября 2003, 14:41:47 от USE »
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн MadDog

  • Главный Металликолог
  • Ветеран
  • *****
  • Сообщений: 679
  • +0/-0
  • 2
    • Просмотр профиля
USE
А клавиша TAB не подходит?

P.S. Скорее всего переключение с помощью Enter в textarea наверняка работать не будет, потому что будет работать так, как и положено.
So let it be written
So let it be done I\'m creeping death

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Цитировать
MadDog:
А клавиша TAB не подходит?

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

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

















но не работает в мозилле 1.5 попробуйте как у вас плиз.
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн MadDog

  • Главный Металликолог
  • Ветеран
  • *****
  • Сообщений: 679
  • +0/-0
  • 2
    • Просмотр профиля
Цитировать
USE:
но не работает в мозилле 1.5

Не тоже не работает, ни в Мозилле, ни FireBird\'е (хотя это почти одно и тоже). Скорее всего что-то не так или чего-то не хватает в функции netscapeKeyPress. Я бы подсказал чего, только не дока я в Яве. :)
So let it be written
So let it be done I\'m creeping death

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Вот, чуть исправил. Работает в NN, Мозилле и MSIE.
















Вдогонку: вот только это уже не будет microsoftKeyPress :)
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
mike, спасибо. будем пробовать что-то крутить.
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
получилось что-то вроде:











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
















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










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
















тогда была реакция только на ентер, а все остальные игнорировались. что посоветуете?
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
return true, если нужно отобразить то, что нажато:











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














[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
mike
спасибо за помощь и за решение проблемы.

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










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












TrueFalse


TrueFalse







Не ходите, дети, без «Мозиллы» дальше localhost!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28