Dans jQuery-Mobile, je soumets un formulaire par programme et je veux capturer l’événement submit pour effectuer certaines validations auparavant. J’ai déjà essayé la solution suivante fournie dans d’autres questions sur jQuery:
$(document).ready(function(){ $('#my_form').bind('submit', function() { alert('before submit'); ... }); });
Mais je ne parviens pas à exécuter la fonction et à afficher l’alerte. Est-ce que quelqu’un connaît un autre moyen d’y parvenir?
Ma forme est quelque chose comme:
Et la façon dont je l’appelle par programme, à partir d’une autre section de la même page est la suivante:
Merci d’avance pour votre aide.
Le gestionnaire d’envoi du formulaire n’est PAS exécuté lorsque vous soumettez le formulaire par programme.
Remarque: ne pas utiliser un bouton d’envoi pour soumettre un formulaire par programme. Utilisez plutôt le bouton ou autorisez le traitement de la soumission à partir du bouton de soumission, c.-à-d.
(ce qui précède n’est pas correct de toute façon car il a besoin du formulaire pour avoir un NOM, pas seulement un ID)
Alors
OU
OU depuis que vous avez jQuery:
OU si vous pouvez mettre le bouton sous la forme (meilleur moyen):
Mais puisque vous voulez lier – voici comment soumettre en utilisant un autre bouton au lieu du meilleur moyen en utilisant le bouton de soumission du formulaire:
$(document).ready(function(){ $('#subbut').bind('click', function() { alert('before submit'); ... $("#actualForm").submit(); }); });
Si vous ne pouvez pas modifier le comportement en ligne codé en dur, utilisez également jQuery pour le supprimer également.
Comment puis-je supprimer un atsortingbut online avec un bookmarklet?
$(document).ready(function(){ $('#subbut').attr('onclick',""); // or $('#subbut').onclick=null; $('#subbut').bind('click', function() { alert('before submit'); ... $("#actualForm").submit(); }); });
Référer ces liens
JQUERY Validate plugin
Techniques de validation
Puisque vous utilisez jquery, vous pouvez trouver la méthode et des exemples ici:
Soumettre la validation
Changer la valeur de retour de onClick en TRUE fait le travail: