2013-08-31 3 views
56

У меня проблема с .on(). У меня есть несколько форм-элементов (формы с class="remember"), также я добавляю еще один form.remember с использованием AJAX. Итак, я хочу, чтобы справиться представить что-то событие, как:JQuery .on() отправить событие

$('form.remember').on('submit',function(){...}) 

но образуют с добавлением AJAX не работает с ним.

Где проблема? Это ошибка?

+9

Try '$ (документ) .он ('Submit', 'form.remember', функция() {...})' – Sergio

ответ

131

Вам нужно делегировать события на уровне документа

$(document).on('submit','form.remember',function(){ 
    // code 
}); 

$('form.remember').on('submit' работы такой же, как $('form.remember').submit(, но при использовании $(document).on('submit','form.remember' тогда он также будет работать для DOM добавлены позже.

+16

несут также в виду, что '$ (document) .on' имеет гораздо более низкую производительность, чем' $ ('form.remember'). on ('submit''. Теперь ему нужно прослушать ** все ** отправить события в документе. ('submit', 'form.remember', function() { // код }); разрешено, если возможно, «на' 'документе», если возможно – Liam

+2

$ ('body'). моя проблема –

12

У меня была проблема с теми же симметриями. В моем случае оказалось, что в моей функции отправки отсутствует инструкция «return».

Например:

$("#id_form").on("submit", function(){ 
    //Code: Action (like ajax...) 
    return false; 
}) 
+0

У меня была аналогичная проблема, I имели две или более формы, и каждой форме я должен был выполнить какое-либо действие AJAX. Когда я нажимаю кнопку «Ввод», действие Ajax не вызывалось –

+0

Ок. Я отредактировал ответ. Я думаю, что моя цель была хорошей, однако способ показать ее не был. благодаря –

Смежные вопросы