Перейти к содержимому


Пользователь месяца
TimurR TimurR 1-й за Август
Очков активности: 726 3 темы, 35 сообщений, 11 баллов репутации
ТОП самых активных за этот месяц
  • Фотография ShowPrint
    #1

    ShowPrint (ShowPrint.ru)
    Очков активности: 207 2 темы, 17 сообщений, 6 баллов репутации

  • Фотография Ixman
    #2

    Ixman (o5cat.ru)
    Очков активности: 105 0 тем, 10 сообщений, 7 баллов репутации

  • Фотография WGN
    #3

    WGN (worldgamenews.com)
    Очков активности: 90 Вне конкурса за определение пользователя месяца

  • Фотография magnet
    #4

    magnet (rbfxdirect.com)
    Очков активности: 67.5 Вне конкурса за определение пользователя месяца

  • Фотография BLIK
    #5

    BLIK
    Очков активности: 45 Вне конкурса за определение пользователя месяца

  • Фотография TimurR
    #6

    TimurR
    Очков активности: 42 Вне конкурса за определение пользователя месяца

  • Фотография AnnaYa
    #7

    AnnaYa (topbase.ru)
    Очков активности: 33 2 темы, 5 сообщений, 2 балла репутации

  • Фотография Developer
    #8

    Developer
    Очков активности: 33 2 темы, 16 сообщений, 1 балл репутации

  • Фотография Алексей111
    #9

    Алексей111
    Очков активности: 28.5 5 тем, 4 сообщения, 1 балл репутации

  • Фотография Игорь Ку
    #10

    Игорь Ку (dudesday.ru)
    Очков активности: 24 1 тема, 5 сообщений, 2 балла репутации

  • Показать весь ТОП 10

Kwork.ru - услуги фрилансеров от 500 руб.

Поддержите форум! =)
Апдейты
  • Яндекс тИЦ: 19.11.2017
  • Яндекс выдача: 24.09.2018
Топ 5 участников по репутации


  • Закрытая тема Тема закрыта

OnKeyPress, OnKeyDown

#1 gaaarfild

gaaarfild
  • Неактивные
  • 596 сообщений
  • Репутация: 0
0

Отправлено 01 May 2010 - 01:30

При использовании AJAX в формах я привязываю запрос при нажатии элемента типа button. Но если нажать Enter, то происходит отправка Submit. Как можно перехватывать и нажатие Enter. Использую jQuery. И собственно вопрос темы. Чем отличаются onKeyPress и onKeyDown?

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Неактивные
  • 5148 сообщений
  • Репутация: 8

Отправлено 01 May 2010 - 10:34

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

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

$('#[id_формы]').bind('keypress', function(e) {
   if(e.keyCode==13)
   {
	   // Здесь нам надо обрубить отправку формы.
   }
});

  • 0

#3 reaboom

reaboom
  • Неактивные
  • 40 сообщений
  • Репутация: 0

Отправлено 01 May 2010 - 10:43

Лучше отлавливать submit формы... а не нажатие клавиши...
  • 0

#4 ZiTosS

ZiTosS
  • Неактивные
  • 5148 сообщений
  • Репутация: 8

Отправлено 01 May 2010 - 10:45

reaboom, тогда ты не сумеешь определить, каким образом была отправлена формы, по нажатию кнопки, или по нажатию Enter. Так что, всё равно придётся обрабатывать событие нажатия Enter.
  • 0

#5 reaboom

reaboom
  • Неактивные
  • 40 сообщений
  • Репутация: 0

Отправлено 01 May 2010 - 10:50

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

Да... Но автору это вроде и не надо... Да я и не представляю особо, зачем это может понадобится при отправке формы... :rolleyes:
  • 0

#6 gaaarfild

gaaarfild
    Topic Starter
  • Неактивные
  • 596 сообщений
  • Репутация: 0

Отправлено 01 May 2010 - 13:57

А я просто переименовал button в submit. Поле action формы оставил пустым. и добавил еще на submit - return false; Теперь работает так, как хотел.
  • 0

#7 ZiTosS

ZiTosS
  • Неактивные
  • 5148 сообщений
  • Репутация: 8

Отправлено 02 May 2010 - 14:12

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


Оформление форума – IPBSkins.ru