Comment puis-je exécuter du JavaScript * après * un événement de soumission de formulaire?
Je travaille sur un formulaire HTML qui peut prendre quelques secondes pour se présenter. J'aimerais désactiver certains des champs dans le formulaire après il est soumis.
Je peux le faire dans un gestionnaire sur le formulaire de la submit
événement, mais ce incendies avant le formulaire soumet. Si je désactive les contrôles puis, leurs valeurs ne sont pas inclus dans le poste les données envoyées au serveur.
J'ai essayé de l'annulation de l'événement submit dans mon gestionnaire d'enlever mon submit
gestionnaire d'événement à partir de la forme, de la soumission du formulaire de moi-même grâce à JavaScript, et puis la désactivation des contrôles, mais le problème, c'est que j'ai besoin de savoir sur quel bouton l'utilisateur a cliqué sur soumettre le formulaire. Cette information est sous la forme originale soumettre, mais évidemment ce n'est pas dans celui que j'ai déclencher manuellement (pas de bouton a été cliqué).
Je pourrais essayer de copier ces informations dans mon manuel de soumettre le formulaire, mais est-il un moyen de faire fonctionner mon code de désactivation après le formulaire soumet?
source d'informationauteur Paul D. Waite
Vous devez vous connecter pour publier un commentaire.
Ne permettent pas de soutient, en outre, par la désactivation du bouton d'envoi, vous n'avez pas besoin de faire autre chose. Sinon, masquer le formulaire et de le remplacer par quelque chose qui tourne de sorte que les utilisateurs sont endormis en pensant que quelque Chose d'Important se passe.
Après l'envoi du formulaire, vous pouvez déclencher cette fonction:
Ce code pour désactiver toutes les champs les descendants de l'élément avec la "cible" comme son id.
Cette version correspond à la saisie de tous les éléments:
Vous devez inclure la librairie jQuery pour que ce code fonctionne.
C'est à peu près le même que sp00m de réponse, sauf qu'il utilise le Javascript natif soumettre à prévenir l'appel récursif.
Vous pouvez utiliser du jQuery
.post()
à soumettre, et.button().click()
pour détecter quel bouton a été cliqué.post()
prend une fonction à exécuter après la soumission est complète