Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Общие вопросы

Как отловить нажатие на клавишу <Enter> в поле формы ?

> В связи с тем, что никто не ответил напрашиваются 3 причины:

... а ниже перечислены 5 ;-)


> 1) плохо сформулирован вопрос

Да, к тому-же не по теме форума ;-)


> 2) никто не знает, как это сделать

Насчет знает, думаю все знают, только никто не знает зачем это делать?


> 3) это нельзя сделать вообще

Можно, но не надо.


> 4) займет много времени разбор и жалко сил

Факт ;-)


> 5) слишком простая и не интересная задача

Непростая, неинтересная и... зачем это делать?


> Если не сложно прошу ответить, а то меня потом опять назовут занудой, за то что я слишком часто один и тот же вопрос задаю.

Вот. В принципе, нажатие клавиши Enter в разных браузерах работает по разному. Например в мозилле, при нажатии на Enter, если фокус у полей <input type="text"> или <input type="password"> вызывает метод form.submit(). В NN4 Enter срабатывал только если поле <input type="text"> всего одно и нет других полей для ввода текста (чекбоксы, радио и селекты могут быть). MSIE ведет себя как мозилла. Во всех браузеров Enter в <textarea> делает новую строку...

Если хочеш отловит событие нажатии клавиши, то тебе нужно keypress или keydown, после чего нужно выяснить Enter ли это и... сделать то, что тебе хочется. Не советую этого делать в <textarea>!

Если хочеш перехватить сам сабмит, то проще перехватить событие submit у формы (не путать с click у <input type="submit"> - это разные вещи!).

Еще бывает, что браузер упорно отправляет форму, неважно, что написано в функции, обрабатывающая submit у формы (этим известен маковский MSIE, хотя возможно такое бывает и в Win-версии), тогда можно сделать извращение типа прописывания JS-функции в атрибуте action у формы, через протокол javascript:.

Более подробно можно ответить, только после того, как изложиш проблему полностью.
СообщениеАвторДата
Роман27.11.2001 09:22
Leechy27.11.2001 17:42
avs28.11.2001 16:55
Роман27.11.2001 15:55
Gilmour28.11.2001 04:48
Leechy27.11.2001 17:40
Роман27.11.2001 18:41