Отправка нескольких форм на странице одновременно через jQuery или Ajax

18.08.19 12:11:19 18.10.19 16:22:49 103
Вариант первый: Можно попробовать создать третью скрытую форму, которая будет сериализовать поля из обоих. <form name="form1" method="post"> ......... </form> <form name="form2" method="post"> ......... </form> На jQuery: var str1 = $("form1").serialize(); var str2 = $("form2").serialize(); $.post(url, str1 + "&" + str2);
Вариант второй: Через ajax (у каждой формы свой id): <script type="text/javascript"> $(document).ready(function () { $('form').submit(function () { var formID = $(this).attr('id'); // Получение ID формы var formNm = $('#' + formID); $.ajax({ type: 'POST', url: 'mail.php', // Обработчик формы отправки data: formNm.serialize(), success: function (data) { // Вывод текста результата отправки в текущей форме $(formNm).html(data); } }); return false; }); }); </script>

*Примечание: если запустить $('form').serialize() на странице с несколькими формами, она будет правильно сериализовать все формы в одну строку, ну, а для включения только определенных форм, можно указать конкретно $('#form1, #form2').serialize().