Maison >interface Web >tutoriel HTML >L'événement de soumission du formulaire ne répond pas à la production de pages HTML/Xhtml_Web

L'événement de soumission du formulaire ne répond pas à la production de pages HTML/Xhtml_Web

WBOY
WBOYoriginal
2016-05-16 16:45:491615parcourir

1. Description du problème
Lorsque vous utilisez JS pour appeler la méthode de formulaire submit pour soumettre le formulaire directement, l'événement submit ne répond pas. Pourquoi? Si vous le savez, veuillez répondre. Par analogie, j'ai utilisé input.select() pour tester, mais il pourrait répondre à l'événement select. Laissant cette raison de côté pour l’instant, voyons d’abord comment résoudre le problème actuel.
Exemple de code qui ne répond pas aux événements :



En fonctionnement réel, il n'y aura pas d'alerte.
Bien que l'utilisation de la méthode de soumission pour soumettre un formulaire va à l'encontre des principes de Unobtrustive Javascript, elle est parfois nécessaire. Par exemple, lorsque vous effectuez une invite de recherche (complétion automatique) et sélectionnez un élément, vous devez utiliser JS pour soumettre. le formulaire de recherche. 2. Analyse du problème

Comme il ne répond pas aux événements, ces événements ne peuvent être déclenchés que manuellement. Avant de déterminer le plan de déclenchement manuel, revoyez les méthodes d'inscription aux événements :
Il existe deux méthodes d'inscription "originales", voir l'exemple de code :




Un tel événement d'inscription ajoute une méthode de soumission au formulaire. Vous pouvez donc exécuter directement cette méthode, ce qui équivaut à déclencher manuellement l'événement. Regardez l'exemple de code :


Cela peut recevoir une alerte. Mais la méthode d'enregistrement standard DOM2 « avancée » d'aujourd'hui et la méthode d'enregistrement attachEvent d'IE sont déjà très couramment utilisées. Pour ces méthodes d'inscription, la méthode onsubmit n'existe pas. Si vous utilisez form.onsubmit(), une erreur sera directement signalée.

3.Solution Bien sûr, la méthode d'enregistrement "avancée" elle-même fournit également une solution pour déclencher manuellement des événements, mais elle nécessite l'écriture de programmes différents pour le standard DOM2 et IE. De plus, ce programme est également efficace pour la méthode d'enregistrement "originale". . Veuillez consulter l'exemple de code :


4.Résumé du code
Ici, nous n'expliquerons pas les détails de chaque méthode. Les amis qui ne la connaissent pas doivent vérifier eux-mêmes les informations pertinentes. Rassemblons l'intégralité du code :




soumettre






Il y a un petit probl猫me dans l'ensemble du processus. Sous FX, il n'est pas n茅cessaire de form.submit() et le formulaire est soumis directement, donc cette phrase est 茅galement omise. Si vous connaissez la raison, veuillez r茅pondre. Cette d茅mo a 茅t茅 test茅e sous IE6/IE7/FX et r茅ussie.
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn