X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> OnKeyPress, OnKeyDown
gaaarfild
gaaarfild
Topic Starter сообщение 1.5.2010, 2:30; Ответить: gaaarfild
Сообщение #1


При использовании AJAX в формах я привязываю запрос при нажатии элемента типа button. Но если нажать Enter, то происходит отправка Submit. Как можно перехватывать и нажатие Enter. Использую jQuery. И собственно вопрос темы. Чем отличаются onKeyPress и onKeyDown?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 1.5.2010, 11:34; Ответить: ZiTosS
Сообщение #2


gaaarfild, Чтобы отловить отправку формы, тебе надо повесить событие именно на форму, при нажатии кнопки

keypress-событие отправляется элементом, когда браузер регистрирует ввод данных с клавиатуры. Это подобно keydown-событию, кроме ключевых повторений. Если пользователь зажмет кнопку, keydown-событие запускается единожды, а keypress-события запускаются для каждого вставленного символа. Кроме того, кнопки (как например Shift) модификатора вызывают keydown-события, но не keypress-события.

$('#[id_формы]').bind('keypress', function(e) {
   if(e.keyCode==13)
   {
       // Здесь нам надо обрубить отправку формы.
   }
});
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
reaboom
reaboom
сообщение 1.5.2010, 11:43; Ответить: reaboom
Сообщение #3


Лучше отлавливать submit формы... а не нажатие клавиши...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 1.5.2010, 11:45; Ответить: ZiTosS
Сообщение #4


reaboom, тогда ты не сумеешь определить, каким образом была отправлена формы, по нажатию кнопки, или по нажатию Enter. Так что, всё равно придётся обрабатывать событие нажатия Enter.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
reaboom
reaboom
сообщение 1.5.2010, 11:50; Ответить: reaboom
Сообщение #5


тогда ты не сумеешь определить, каким образом была отправлена формы

Да... Но автору это вроде и не надо... Да я и не представляю особо, зачем это может понадобится при отправке формы... :rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
Topic Starter сообщение 1.5.2010, 14:57; Ответить: gaaarfild
Сообщение #6


А я просто переименовал button в submit. Поле action формы оставил пустым. и добавил еще на submit - return false; Теперь работает так, как хотел.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 2.5.2010, 15:12; Ответить: ZiTosS
Сообщение #7


gaaarfild, Вообщем тогда тему закрываю :rolleyes: Вопрос решился своими силами. А реализация самое то. Просто и без всяких заморочек.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 25.4.2024, 6:15
Дизайн