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


Пользователь месяца
OlgaGetman OlgaGetman 1-й за Декабрь
Очков активности: 2100 10 тем, 170 сообщений, 7 баллов репутации
ТОП самых активных за этот месяц
  • Фотография Ixman
    #1

    Ixman (o5cat.ru)
    Очков активности: 195 Вне конкурса за определение пользователя месяца

  • Фотография Андрей WPMasterKZ
    #2

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 153 Вне конкурса за определение пользователя месяца

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

    BLIK
    Очков активности: 126 0 тем, 21 сообщение, 4 балла репутации

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

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

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

    Cheaplinks
    Очков активности: 54 0 тем, 18 сообщений, 2 балла репутации

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

    Mandarin
    Очков активности: 52.5 0 тем, 35 сообщений, 1 балл репутации

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

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

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

    Ilya74
    Очков активности: 48 0 тем, 16 сообщений, 2 балла репутации

  • Фотография Constantine
    #9

    Constantine
    Очков активности: 48 5 тем, 17 сообщений, 1 балл репутации

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

    magnet (rbfxdirect.com)
    Очков активности: 30 0 тем, 10 сообщений, 2 балла репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 25.12.2018
  • Яндекс выдача: 20.01.2019
Топ 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