Отправка каждого шага

Я использую шаги jquery для мастера форм. Затем я хочу, чтобы шаги имели разные формы, каждый раз, когда шаг меняется, с кнопками «предыдущий» или «следующий», я бы хотел отправить форму через ajax.

Когда я пробовал с несколькими формами, это не сработало, причина var form = $("#example-advanced-form").show();, так что я не могу использовать несколько форм?

Означает ли это, что я должен отправлять всю форму каждый раз, когда я меняю шаг? Ну, я действительно не могу этого сделать, потому что на разных этапах есть правила проверки на стороне сервера.

Можете ли вы помочь мне?


person DarthVader    schedule 13.11.2015    source источник


Ответы (2)


Шаги Jquery могут быть неправильным решением для вас. Если у вас есть совершенно разные формы для представления на основе предоставленных данных, я думаю, у вас есть два варианта:

1) Сделайте это в JavaScript. Я бы, вероятно, предостерег от этого, потому что это будет раскрывать большую часть вашей бизнес-логики (если x, то отображать y) в вашем javascript.

2) Используйте частичные представления (в MVC) на основе отправляемой модели. Если бы у меня было что-то действительно сложное для работы, лично я бы предпочел иметь это в земле MVC, а не в JavaScript, но это личное предпочтение.

person Eric    schedule 04.12.2015

Добавьте $('#wizard-p-'+currentIndex).submit() в onStepChanging и создайте функцию отправки, подобную этой

$('#wizard-p-0').submit(function(e) { var $form = $(this); var postData = $(this).serializeArray(); var formURL = $(this).attr("action"); $.ajax({ url : formURL, type : "POST", data : postData, async : true, success : function(data) { //success code }, error : function(jqXHR,textStatus,errorThrown) { //error code } }); e.preventDefault(); }); }

Эта функция предназначена для отправки шага 1. Сделайте одинаковые функции для всех соответствующих шагов.

person Half Blood Prince    schedule 18.01.2016