2009-12-05 9 views
0

J'ai quelques javascript qui se termine en cliquant programatically sur un bouton:Le bouton a-t-il réellement cliqué?

document.getElementById("myButton").click(); 

Cette entraîne à son tour sous la forme SAISINE au moyen d'un appel de fonction:

<form onsubmit="submit_this_form(this);return false;" action="" method="POST"> 

Il semble qu'un bon pourcentage de le moment où le clic sur le bouton ne passe pas ou si le formulaire n'est pas envoyé. Je pense que le clic sur le bouton est en cours et je sais que le code est appelé parce que j'ai un compteur intégré et que je peux voir qu'il s'exécute.

Ma question est ... existe-t-il un événement ou un moyen de vérifier que le formulaire a effectivement été posté? En passant, je n'ai pas le contrôle du code HTML, donc je ne peux pas changer le contenu de la balise.

Répondre

1
<form onsubmit="submit_this_form(this);return false;" action="" method="POST"> 

Retourne false après que submit_this_form() a essentiellement empêché l'envoi réel du formulaire. Je crois que si vous le changez en:

<form onsubmit="submit_this_form(this);" action="" method="POST"> 

Cela devrait fonctionner comme vous voulez.

L'utilisation de return false après un gestionnaire d'événements «détourne» essentiellement la fonctionnalité par défaut. Fondamentalement, quel que soit le script de votre fonction de gestionnaire d'événements, il remplace le comportement par défaut, qui consiste dans ce cas à soumettre les données du formulaire au serveur.

+0

c'est ce que Greg demandait? –

+0

Pour autant que je sache, à moins d'avoir mal compris ... il essaie de soumettre un formulaire, il pense que l'événement click fonctionne mais le formulaire ne l'est pas, et veut vérifier si le formulaire est soumis. Je lui ai dit qu'il ne se soumettait pas, à cause du retour faux. – brildum

0

Je ne pense pas que vous pouvez vérifier que le formulaire est effectivement soumis. Mais vous pouvez le soumettre manuellement via XMLHTTPRequest et vérifier si le serveur répond. De cette façon, vous serez sûr que le formulaire est soumis. Et vous pouvez avoir un événement (votre événement personnalisé) qui dit à propos de la soumission de formulaire si vous avez besoin de ... BTW n'oubliez pas d'empêcher les formulaires par défaut soumettre si vous allez façon AJAX.

Vérifiez plugin jquery.form pour faire un déploiement rapide de la soumission de formulaire AJAX et regarder est ce que vous voulez ou non.
Bonne chance!

Questions connexes