У меня есть две формы на странице (одну захватывает AJAX). Мне нужно, чтобы они оба были опубликованы, поэтому я сериализую второй и отправляю его в сообщении с помощью 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;
});
Есть ли лучший способ опубликовать две формы, а затем перенаправить на новую страницу нажатием кнопки? Я попытался опубликовать их обоих, используя метод выше, а затем использовать window.location для изменения страниц, но у меня была аналогичная проблема.
Большое спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете попробовать отправить "first_form" в обратном вызове из сообщения "second_form". Я считаю, что отправка "first_form" выгружает страницу, что приводит к прерыванию второго сообщения. Выполнение сообщения "first_form" в обратном вызове от "second_form" гарантирует, что начальное сообщение будет завершено до начала второго сообщения.
$("#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();
}
Идеальный! Большое спасибо - я не осознавал, что отправка выгружала страницу. : D