DÉCRYPTÉ - cette partie est périmée, veuillez ne pas l'utiliser.
Vous pouvez également essayer ce code, si vous avez par exemple ajouté ultérieurement des formulaires dynamiques. Par exemple, vous avez chargé une fenêtre async avec ajax et vous voulez soumettre ce formulaire.
$('#cpa-form').live('submit' ,function(e){
e.preventDefault();
// do something
});
UPDATE - vous devez utiliser la méthode jQuery on() et essayer d'écouter le DOM du document si vous voulez gérer du contenu ajouté dynamiquement.
Cas 1, version statique : Si vous n'avez que quelques listeners et que votre formulaire à gérer est codé en dur, alors vous pouvez écouter directement au "niveau du document". Je n'utiliserais pas les listeners au niveau du document, mais j'essaierais d'aller plus loin dans l'arbre de doom, car cela pourrait entraîner des problèmes de performance (cela dépend de la taille de votre site web et de votre contenu).
$('form#formToHandle').on('submit'...
OU
$('form#formToHandle').submit(function(e) {
e.preventDefault();
// do something
});
Cas 2, version dynamique : Si vous écoutez déjà le document dans votre code, alors cette méthode vous conviendra. Cela fonctionnera également pour le code qui a été ajouté plus tard via DOM ou dynamique avec AJAX.
$(document).on('submit','form#formToHandle',function(){
// do something like e.preventDefault();
});
OU
$(document).ready(function() {
console.log( "Ready, Document loaded!" );
// all your other code listening to the document to load
$("#formToHandle").on("submit", function(){
// do something
})
});
OU
$(function() { // <- this is shorthand version
console.log( "Ready, Document loaded!" );
// all your other code listening to the document to load
$("#formToHandle").on("submit", function(){
// do something
})
});
13 votes
Fonctionne bien ici . Pouvez-vous fournir plus d'informations dans votre question ? Si vous
alert()
dans le gestionnaire de soumission est-il appelé ? Si ce n'est pas le cas, il se peut qu'il y ait une erreur dans votre script qui empêche le gestionnaire d'événements d'être connecté correctement. Quelque chose dans la console d'erreur ?3 votes
Ce lien est interne et ne nous est d'aucune utilité.
0 votes
Peut-être qu'une ancienne version a été mise en cache. Il semble que cela fonctionne maintenant.
1 votes
Duplicata possible de event.preventDefault() vs. return false
2 votes
! Assurez-vous que le code javascript s'exécute après que le DOM soit prêt.