Comment puis-je écouter de la soumettre le formulaire d'événements en javascript?
Je veux écrire mon propre formulaire de validation de la bibliothèque javascript et j'ai été chercher sur google comment détecter si un bouton est cliqué, mais tout ce que je trouve est le code où vous devez utiliser onClick sur onSubmit="function()"
en html.
Je voudrais faire ce javascript, de sorte que je n'ai pas toucher à n'importe quel code html comme l'ajout de onSubmit ou onClick javascript.
- Pourquoi ne pas
document.forms['yourForm'].onsubmit = function(){}
? OuaddEventListener
? - Avez-vous vraiment envie de vérifier si le bouton "soumettre" a été cliqué, ou voulez-vous vérifier lorsque l'utilisateur soumet le formulaire (qui ils peuvent le faire en cliquant sur le bouton ou en appuyant sur Entrée à partir de l'un des champs)?
Vous devez vous connecter pour publier un commentaire.
Voir Derek répondre, qui devrait maintenant être accepté de répondre. Il comprend tout ce que cette réponse avait inclus et plus.
(J'ai essayé de supprimer cette réponse, après Derek mis à jour sa pour inclure la bibliothèque des exemples, mais avec la coche verte, ALORS ne me laisse pas)
Pourquoi dit-on toujours utiliser jQuery quand il n'est pas nécessaire?
Pourquoi on ne peut pas les gens utilisent JavaScript simple?
callback
est une fonction que vous voulez l'appeler lorsque le formulaire est soumis.Sur
EventTarget.addEventListener
, découvrez cette documentation sur MDN.Pour annuler le natif
submit
événement (éviter le formulaire de soumission), l'utilisation.preventDefault()
dans votre fonction de rappel,L'écoute de la
submit
événement avec des bibliothèquesSi pour quelque raison que vous avez décidé d'une bibliothèque est nécessaire (vous utilisez déjà un ou vous ne voulez pas avoir affaire avec des problèmes de navigateur), voici une liste de façons d'écouter l'événement submit en commun des bibliothèques:
jQuery
Où
ele
est la forme de l'élément de référence, etcallback
étant la fonction de rappel de référence. RéférenceHTML:
AngularJS (1.x)
Très simple, où
$scope
est le cadre prévu par le cadre à l'intérieur de votre contrôleur. RéférenceRéagir
Il suffit de passer un gestionnaire à l'
onSubmit
prop. RéférenceD'autres frameworks/librairies
Reportez-vous à la documentation de votre cadre.
Validation
Vous pouvez toujours faire de votre validation en JavaScript, mais avec HTML5 nous avons également natif de validation.
Vous n'avez même pas besoin de JavaScript! Chaque fois que natif de validation n'est pas pris en charge, vous pouvez repli à un programme de validation JavaScript.
Démo: http://jsfiddle.net/DerekL/L23wmo1L/
.addEventListener
encore a certains avantages, mais seulement dans les petites pages où nous n'aurions pas besoin d'un énorme cadre de la bibliothèque - par exemple, on ne devrait pas inclure la totalité de la bibliothèque jQuery pour utiliser.submit
.C'est la façon la plus simple que vous pouvez avoir votre propre fonction javascript être appelée lorsqu'un
onSubmit
se produit.HTML
JavaScript
Selon vos besoins, vous pouvez également effectuer les opérations suivantes sans les bibliothèques comme jQuery:
Ajouter à votre tête:
Et votre forme peut encore ressembler à quelque chose comme:
addEventListener
au lieu de onsubmit ou onload pour permettre à d'autres développeurs d'ajouter leurs propres auditeurs.Avec jQuery: