/ / jQuery intercept form soumission à param string - javascript, jquery, post, soumission, intercept

jQuery intercept form soumission à la chaîne de param - javascript, jquery, post, submission, intercept

J'ai un formulaire. Ce formulaire envoie via POST à ​​un iframe, qui, à son tour, a traité la demande et, selon le résultat, un javascript est exécuté qui modifie le contenu du parent en fonction de la validité de la soumission.

Maintenant, je n'aime pas cette procédure. Je veux pouvoir soumettre plusieurs formulaires simultanément, mais je n'ai que celui-ci masqué iframe. Je voudrais donc le faire avec AJAX, en créant une demande distincte pour chaque soumission de formulaire.

Cependant, ma forme est compliquée; Cela consiste endes cases à cocher qui ajoutent des variables aux tableaux, des images sur lesquelles on clique et dont les coordonnées de clic doivent être envoyées, et des trucs compliqués comme ça - c'est pourquoi moi, au lieu de calculer chacune la valeur de chaque entrée et de l'ajouter à une chaîne de paramètre de post (par la manière: je ne sais pas comment je peux créer des tableaux de cette façon), je préférerais de loin avoir le contenu de la soumission intercepté, enregistré en tant que chaîne de publication avec tous ces paramètres, puis utiliser cette chaîne pour la demande AJAX POST.

Ce que je voudrais faire dans cette fonction:

$("#myForm").submit(function(event){

// process the submission, e. g. event.getContent().toPostString();

// create the AJAX request and send it and attach listeners (I know how to do this line ;)

return false; // I don"t want the form submitted (to the iframe)

});

Merci d'avance!

Réponses:

7 pour la réponse № 1

N'utilisez pas un iframe, utilisez simplement Méthodes ajax de jQuery: (J'ai utilisé post() dans l'exemple ci-dessous)

$("#myForm").submit(function(event){

//url          //post data
$.post(this.action, $(this).serialize(), function(returnData){
//do something with returnData
})

return false; //do not submit form the normal way

});

Voici un exemple: http://jsfiddle.net/maniator/Y6r8E/
Tapez quelque chose dans le formulaire et soumettez-le.


1 pour la réponse № 2

jQuery "s sérialiser () La fonction rassemblera les données du formulaire pour vous, pour permettre une soumission facile du formulaire via .ajax () ou .post ().