J'ai un problème avec .on()
. J'ai plusieurs éléments de formulaire (formulaires avec class="remember"
), j'ajoute un autre form.remember
en utilisant AJAX. Donc, je veux qu'il gère l'événement submit quelque chose comme:
$('form.remember').on('submit',function(){...})
mais la forme ajoutée avec AJAX ne fonctionne pas avec elle.
Où est le problème? Est-ce un bug?
Vous devez déléguer un événement au niveau du document.
$(document).on('submit','form.remember',function(){
// code
});
$('form.remember').on('submit'
fonctionne de la même manière que $('form.remember').submit(
, mais lorsque vous utilisez $(document).on('submit','form.remember'
, il fonctionnera également pour le DOM ajouté ultérieurement.
J'ai eu un problème avec les mêmes symptômes. Dans mon cas, il s'est avéré que ma fonction d'envoi manquait l'instruction "return".
Par exemple:
$("#id_form").on("submit", function(){
//Code: Action (like ajax...)
return false;
})