2009-11-07 7 views
1

J'ai un petit problème avec jQuery: J'ai .submit() défini sur un formulaire, lorsque je soumets le formulaire en cliquant sur le bouton Soumettre, les déclencheurs pairs et les choses fonctionne bien, cependant, quand J'utilise document.forms[0].submit(), l'événement n'est pas déclenché, mais le formulaire est soumis !! Y a-t-il une raison pour laquelle? Comment puis-je surmonter cela?jQuery .submit problème

+0

dupliquer http://stackoverflow.com/questions/645555/should-jquerys-form-submit-not-trigger-onsubmit-within-the-form-tag – silent

Répondre

5

C'est juste la façon dont cela fonctionne - appeler le .submit() natif ne déclenche pas le gestionnaire d'événements javascript.

Utilisez le jQuery .submit() à la place:

$('form:first').submit(); 
-1

Cela peut sembler étrange mais pourquoi utilisez-vous déjà document.forms[0].submit() lorsque vous utilisez déjà jQuery.

suggestion simple (? Peut-être stupide): Ne pas utiliser ce document.forms[0].submit() utiliser à la place

$("#hereidofyourform").submit() 
1

Si le formulaire est nommé présenter comme celui-ci

<form method="POST" id="the_waffle_form"> 

Ensuite, vous pouvez le soumettre en faisant cela.

$("#the_waffle_form").submit(); 

Consultez le documentation pour plus d'exemples.

0

Certains d'entre nous sont contraints d'utiliser le code des systèmes existants. Ces systèmes ne sont pas conformes, et dans mon cas, ils attendent d'être mis à jour. Mais lorsque plusieurs milliers de personnes utilisent le système, il n'est tout simplement pas possible d'y entrer et de modifier le code en paquets de base. Donc, nous sommes forcés de trouver des solutions de contournement. Dans mon cas, les formulaires n'ont pas d'ID ou de nom, donc l'utilisation de document.forms[0].submit() est l'une des seules options.

+0

Cela ne répond pas à la question! – Mac