Question

J'ai un formulaire. Ce formulaire soumet via POST à ​​une iframe, qui, à son tour, fait traiter la demande et, en fonction du 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 caché. J'aimerais donc le faire avec AJAX, en créant une demande distincte pour chaque soumission de formulaire.

Cependant, ma forme est compliquée; il se compose de cases à cocher qui ajoutent des variables aux tableaux, d'images sur lesquelles on clique et dont j'ai besoin d'envoyer les coordonnées de clic, et de trucs compliqués comme ça - c'est pourquoi je, au lieu de calculer chacune la valeur de chaque entrée et de l'ajouter à un paramètre de publication string (au fait: je ne sais pas comment je peux créer des tableaux de cette façon), je préférerais plutôt que le contenu de la soumission soit intercepté, enregistré en tant que chaîne de publication avec tous ces paramètres, puis utiliser cette chaîne pour l'AJAX DEMANDE 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!

Était-ce utile?

La solution

N'utilisez pas d'iframe, utilisez simplement les 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 envoyez-le.

Autres conseils

La fonction serialize () de jQuery rassemblera les données du formulaire pour vous, afin de faciliter la soumission du formulairevia .ajax () ou .post ().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top