Есть ли способ использовать jQuery для отправки формы без сложного поля путем разбивки поля?

Я использую jQuery для выполнения перезагрузки страниц на основе AJAX на ссылках – они вызывают окно «Загрузка …», а затем закрывают его, когда содержимое возвращается и загружает контент. Это работает точно так, как ожидалось.

У меня есть несколько различных форм в моем проекте, которые я хотел бы представить с использованием того же метода – в представлении создайте окно «Загрузка …» и затем закройте его, когда содержимое вернется. Есть ли способ сделать это без написания пользовательской функции для каждой формы? Образцы, которые я видел, требуют, чтобы вы захватили и закодировали каждое поле формы и передали его в методе ajax. В некоторых формах есть только несколько полей, у других – много, поэтому это был бы громоздкий процесс. Я бы хотел, чтобы он просто захватил все поля в форме и отправил их под именами полей.

Любое понимание этого было бы высоко оценено!

Related of "Есть ли способ использовать jQuery для отправки формы без сложного поля путем разбивки поля?"

Похоже, вы ищете что-то вроде .serialize() . Это в основном утилита jQuery для кодирования элементов формы для вызова AJAX или строки запроса GET.

Используя это, вы получите что-то похожее на myinput=somevalue&myotherinput=someothervalue основанное на свойствах имени ваших элементов формы. Вы можете использовать это в любом вызове, который вы делаете против своего сервера, если они распознают формат (например, что-то вроде данных JSON или скалярной строки).

На самом деле это довольно просто: вы можете сделать это:

 $('form').serialize(); 

очевидно, вы хотите отправить ему свою форму, но если вы выберете сериализацию после выбора тега формы, она будет сериализовать форму для вас. Затем вы можете использовать это в своем вызове ajax.

вы можете использовать serialize() таким образом

 $('#formId').serialize(); 

Возможно, одним из способов может быть использование функции $ .serialize () . Вы можете написать функцию для выполнения при отправке формы. Например, если у вас есть три формы, отобранные id «form1», «form2» и «form3»:

 $(document).ready(function() { $('#form1, #form2, #form3').submit(sendData); }); function sendData() { var dataString=$(this).serialize(); $.ajax({ url: "url_to_send.php", data: dataString }); return false; } 

Вы читали это?

http://api.jquery.com/jQuery.post/

 $.post("test.php", $("#testform").serialize());