Existe-t-il un moyen de déterminer quel élément a soumis un formulaire à l'intérieur d'un gestionnaire de sous-diffusion? Essayer d'écrire un gestionnaire générique qui sait quel élément a été cliqué. Par exemple, étant donné cette forme:Déterminez quel élément a envoyé un formulaire depuis l'intérieur de la sous-unité
<form onsubmit="onSubmitHandler">
<input type="submit" name="submit1" />
<input type="submit" name="submit2" />
</form>
Comment puis-je déterminer à l'intérieur du onSubmitHandler quel bouton soumettre a été cliquée? J'ai essayé event.target/event.srcElement, mais cela donne le formulaire, pas le bouton de soumission réel.
Mise à jour: J'écris un contrôle générique ici, donc il n'a aucune idée de ce qu'il y a sur le formulaire. La solution doit fonctionner sans connaître et modifier le code HTML du formulaire. Mon fallback est de marcher sur le DOM pour trouver tous les boutons qui pourraient causer une soumission, mais je voudrais éviter cela.
Il n'y a aucune garantie que les boutons d'envoi ont été cliqués. Par exemple. La soumission par JS (form.submit()) n'entrainera aucune valeur de boutons dans la publication. –
C'est bien aussi. Un peu plus de contexte sur le problème: ceci est pour un composant AJAX.J'annule le premier envoi, je fais mon propre truc, puis je dois relancer le premier envoi, avec toutes les valeurs de formulaire correctes. Autant que j'ai été capable de déterminer, la seule façon de faire ceci est de marcher le DOM et ajouter des gestionnaires de clic à tout ce qui pourrait causer un soumettre, et puis enregistrer cela. Supposons que la dernière chose qui a été cliquée soit celle qui a envoyé le formulaire, puis appelez .click() lorsque je dois soumettre à nouveau le formulaire. –