Программирование => JavaScript & JScript => Тема начата: SergioDZU от 30 Марта 2004, 16:12:55
Название: Переход по полям формы при помощи Enter
Отправлено: SergioDZU от 30 Марта 2004, 16:12:55
Можно ли как-то сделать, что бы по нажатию кнопки Enter на одном из полей web-формы не срабатывала кнопка Submit, а осуществлялся переход к следующему полю, как по клавише Tab?:rolleyes:
Название: Переход по полям формы при помощи Enter
Отправлено: Werwolf13 от 30 Марта 2004, 17:50:55
Да.... вообще, вместо кнопки Submit используеш , где myform --- имя формы. Тогда на Enter не будет реагировать (если, конечно, фокус не на ней). Дальше... Вот в func1() и реализуй передачу фокуса на следующий элемент.
Название: Переход по полям формы при помощи Enter
Отправлено: Макс от 30 Марта 2004, 18:15:23
SergioDZU не надо этого хотеть, Многие люди (я например :)) делают сабмит формы именно нажатием на Enter (а не нажатием на кнопку) Тем самым ты сделаешь свою форму неуодбной для пользователей. Для навигации по элементам формы есть Tab
Название: Дело привычки (enter расположен на keypad\'e)
Отправлено: SergioDZU от 30 Марта 2004, 18:28:16
Макс, я пишу приложение для спечифических пользователей, которые ОЧЕНЬ привыкли использовать Enter (работали в Paradoxe).
Название: Переход по полям формы при помощи Enter
Отправлено: CGVictor от 30 Марта 2004, 18:37:19
Название: Переход по полям формы при помощи Enter
Отправлено: гоша от 30 Марта 2004, 18:49:31
SergioDZU
под ИЕ6
Название: Переход по полям формы при помощи Enter
Отправлено: Yukko от 31 Марта 2004, 01:11:06
поиск по форуму даст интересный результат... кажется mike уже писал что-то подобное... ушел искать...
понимаю, что не все читают вебскрипт с утра и до вечера, но поиск по слову enter (http://forums.webscript.ru/search.php?s=&action=showresults&searchid=168554&sortby=&sortorder=) обнаруживает другой тред почти с таким же названием! Как осуществить переход между полями формы нажатием клавиши Enter (http://forums.webscript.ru/showthread.php?s=&threadid=14226&highlight=enter)
по ходу предложенное решение кроссбраузерное :)
Название: Переход по полям формы при помощи Enter
Отправлено: гоша от 31 Марта 2004, 11:39:59
...но плохое :(
Название: Переход по полям формы при помощи Enter
Отправлено: USE от 31 Марта 2004, 12:05:36
Цитировать
Макс: Для навигации по элементам формы есть Tab
Что ты скажешь тёте-бухгалтеру, которая привыкла левой рукой бежать ленеечкой по данным, а правой набивать? "Используйте TAB"? Не получится - заклюют.
Цитировать
гоша: но плохое
рабочее, что не может не радовать.
Название: Переход по полям формы при помощи Enter
Отправлено: SergioDZU от 31 Марта 2004, 13:37:00
Цитировать
Werwolf13: Да.... вообще, вместо кнопки Submit используеш , где myform --- имя формы. Тогда на Enter не будет реагировать (если, конечно, фокус не на ней). Дальше... Вот в func1() и реализуй передачу фокуса на следующий элемент.
А как реализовать передачу фокуса на следующий элемент? ;-) Читая данный форум, я понял, что задача не тривиальная, так как свойства на-подобие .focused={true|false} у элементов формы нет... Как быть? Кстати, пример по ссылке, которую дал Yukko у меня отказался работать в FireBird...
Название: Переход по полям формы при помощи Enter
Отправлено: mike от 31 Марта 2004, 14:25:56
Цитировать
гоша: ...но плохое
Альтернатива есть? А то уж совсем без аргументов...
Цитировать
SergioDZU: Кстати, пример по ссылке, которую дал Yukko у меня отказался работать в FireBird...
Может, я что-то не то делаю, но примеры (оба) работают в FireBird.
Название: Переход по полям формы при помощи Enter
Отправлено: Yukko от 31 Марта 2004, 14:49:28
гоша Аргументировано писать мы не умеем??? Или снова как на форуме по регам будет: Я сказал!!!
Цитировать
SergioDZU: Кстати, пример по ссылке, которую дал Yukko у меня отказался работать в FireBird...
У вас бухгалтеры или кто там будет пользвать это на FireBird работает? Мне кажется, что то решение, которое было приведено, намного лучше одной строки:
Цитировать
гоша: под ИЕ6
Название: Переход по полям формы при помощи Enter
Отправлено: SergioDZU от 31 Марта 2004, 14:54:07
Yukko про FireBird все просто: корпоративная концепция развития предусматривает постепенный отказ от Microsoft в пользу открытого софта. И уже сейчас задачи, которые можно решать при помощи открытых программ, требуют делать как раз в этих программах. Вот и геморроимся...
Название: Переход по полям формы при помощи Enter
Отправлено: USE от 31 Марта 2004, 16:31:51
SergioDZU в mozilla работает вариант mike\'а
Название: Переход по полям формы при помощи Enter
Отправлено: гоша от 31 Марта 2004, 19:55:20
Название: Переход по полям формы при помощи Enter
Отправлено: mike от 31 Марта 2004, 20:33:57
гоша
Цитировать
гоша: почему это плохо?
1. прописывается обработчик для каждого элемента 2. требуется явно указывать "следующий" элемент 3. каким боком тут navigator.appName вообще неясно
1-2. Минус, но таким образом можно дополнительно имитировать tabindex в браузерах, которые его не поддерживают.
3. Забыл про кроссбраузерность. keyCode не везде работает в Мозиллах ранних версий.
Цитировать
гоша: альтернативы?
1. прописывать обработчик для формы 2. искать "следующий" элемент самостоятельно 3. вообще, не писать лишнего
1. Угу, можно. 2. не всегда правильно, т.к. при измененном tabindex придется держать в памяти полный путь. Впрочем, это альтернатива приписыванию обработчиков каждому элементу. 3. Это уже не альтернатива, давай без подобных пунктов.
Теперь по твоему коду. В MSIE 6 и Опере 7 он у меня отказался работать, полагаю, что по причине