JS / jQuery - размытие () не срабатывает, когда пользователь нажимает «Enter»?

0

У меня есть поле формы, которое я хотел бы немного сделать, прежде чем пользователь представит форму. В частности, это поле местоположения, и мне нужно проверить, добавили ли они аббревиатуру состояния. Если нет, я добавляю его.

Я наблюдаю за blur(), поэтому я могу видеть, когда пользователь вставлял вкладку или выходил из поля:

  $('#views-exposed-form-libraries-map-page-1 .form-item-field-geofield-distance-origin input').blur(function(){
// do stuff
});

"Это отлично работает, когда пользователь нажимает кнопку отправки или вкладки вне ввода. Однако, когда пользователь нажимает "вводить" или "возвращать", чтобы отправить форму, функция не запускается - я предполагаю, что нет события размытия.

Есть ли другой способ зацепить входное значение и отредактировать его, когда пользователь нажимает "Enter" или "return"?

Теги:
forms
blur

2 ответа

1
Лучший ответ

также установите .submit/вместо этого, это будет .submit до подачи фактической формы, и вы можете отменить отправку, если это необходимо

$("#myForm").submit(function(e){
   //check/do stuff here before submit
   //use e.preventDefault() or return false to stop submission if needed.
});

JQuery.submit Doc

4

Вы можете создать .submit() который запускает .blur() для сфокусированного элемента:

$('form').submit(function(){
     $(':focus').trigger('blur');
})

Ещё вопросы

Сообщество Overcoder
Наверх
Меню