2008-11-24 7 views
5

J'ai deux formulaires sur une page (l'un est saisi par AJAX). J'ai besoin qu'ils soient tous les deux affichés, donc je sérialise le second et je l'envoie dans un post en utilisant jQuery avant de soumettre le premier. Cependant, seul le premier formulaire semble être affiché. La chose étrange est cependant, si je mets une alerte après le post sérialisé cela fonctionne comme prévu. Quel est exactement mon problème ici?Affichage/envoi de plusieurs formulaires dans jQuery

$("#submit").livequery('click', function() { 
    var form = $("#second_form"); 
    var action = form.attr("action"); 
    var serialized_form = form.serialize(); 
    $.post(action, serialized_form); 

    //alert('test'); 

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

    return false; 
}); 

Y at-il une meilleure façon d'afficher deux formes, puis rediriger vers une nouvelle page sur une presse bouton? J'ai essayé de poster les deux en utilisant la méthode ci-dessus, puis en utilisant window.location pour changer de page mais j'ai eu un problème similaire.

Merci beaucoup!

Répondre

5

Vous pouvez essayer de soumettre "first_form" dans un rappel à partir du post de "second_form". Je crois que l'envoi de "first_form" est en train de décharger la page qui provoque l'annulation du second post. Faire le post de "first_form" dans le callback de "second_form" assurera que la publication initiale est terminée avant que le second post ne commence.

$("#submit").livequery('click', function() { 
    var form = $("#second_form"); 
    var action = form.attr("action"); 
    var serialized_form = form.serialize(); 
    $.post(action, serialized_form, submit_first); 
}); 

function submit_first(val) { 
    $("#first_form").submit(); 
} 
+0

Parfait! Merci beaucoup - je n'ai pas réalisé que la soumission a déchargé la page. :RÉ – Wickethewok

Questions connexes