2008-11-24 20 views
5

Tengo dos formularios en una página (AJAX uno los atrapa). Necesito que se publiquen ambos, así que serializo el segundo y lo envío en una publicación usando jQuery antes de enviar el primero. Sin embargo, solo el primer formulario parece estar siendo publicado. Lo extraño es sin embargo, si pongo una alerta después de la publicación en serie, funciona como se esperaba. ¿Cuál es exactamente mi problema aquí?Contabilización/envío de formularios múltiples en 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; 
}); 

¿Hay alguna manera mejor de publicar dos formularios y luego redirigir a una nueva página al presionar un botón? Traté de publicarlos usando el método de arriba y luego usando window.location para cambiar de página, pero tuve un problema similar.

Muchas gracias!

Respuesta

5

Puede intentar enviar "first_form" en una devolución de llamada desde la publicación de "second_form". Creo que el envío de "first_form" está descargando la página que causa el aborto de la segunda publicación. Hacer la publicación de "first_form" en la devolución de llamada desde "second_form" asegurará que la publicación inicial se complete antes de que comience la segunda publicación.

$("#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

Perfecto! Muchas gracias, no me di cuenta de que el envío de la página se descargó. :RE – Wickethewok

Cuestiones relacionadas