Exécuter AJAX dans un form dans une fenêtre modale

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Exécuter AJAX dans un form dans une fenêtre modale

Re: Exécuter AJAX dans un form dans une fenêtre modale

par two3d » 09 mai 2022, 11:02

Mets ton code, on verra d'où vient le problème.
Sauf que... lorsque je soumets le form, le call ajax ne s'exécute pas et le page appelée par l'action du form s'affiche en rechargeant la page principale.
Tu a peut être oublié de mettre un event.preventDefault()

Re: Exécuter AJAX dans un form dans une fenêtre modale

par ynx » 19 mars 2022, 12:00

Bonjour,

Comment est ajouté le listener (écouteur) pour capturer l'événement de soumission du formulaire ? L'événement est-il bien capturé ?
Puisque le formulaire n'existe pas au chargement de la page et est ajouté par la suite en ajax, il faudrait p-e utiliser la délégation d’événement pour que le listener fonctionne correctement.
https://davidwalsh.name/event-delegate
Sinon tu peux aussi ajouter le listener lorsque tu ajoutes le formulaire sur ta page.

Si ton listerner pour le formulaire capture l’événement "submit", tu devrais aussi utiliser la fonction preventDefault() sur l’événement passé en paramètre de la fonction du listener. Ceci permet d'annuler le comportement par défaut du bouton submit afin que tu puisses traiter la soumission via ajax.
https://developer.mozilla.org/fr/docs/L ... %C3%A9faut

Exécuter AJAX dans un form dans une fenêtre modale

par newdev » 16 mars 2022, 21:29

Bonjour,

Alors voilà, je suis apprenti avec ajax mais j'arrive à me débrouiller jusqu'à ce que je me trouves dans cette impasse :

J'utilise ajax pour charger un formulaire dynamique dans une fenêtre modale. Jusque là, tout va bien !

Le problème survient une fois dans la fenêtre modale. Je souhaite soumettre le formulaire qui se trouve dans la modale (généré avec un call ajax) et je souhaite le soumettre en utilisant ajax encore une fois et afficher le résultat dans une div à l'intérieur de la modale.

Sauf que... lorsque je soumets le form, le call ajax ne s'exécute pas et le page appelée par l'action du form s'affiche en rechargeant la page principale.

Si vous avez des expériences de la sorte, je serais intéressé de connaitre vos solutions. Je peux fournir les codes actuels si nécessaires.