Получить текущий шаг от SmartWizard - PullRequest
0 голосов
/ 16 октября 2019

Я использую виджет для создания мастера (шаги).

Существует событие под названием showStep, в котором я делаю публикацию формы, используя ajax для каждого шага. Проблема в том, что я получаю идентификатор формы примерно так: var form_data = $("#step_"+ stepNumber +"_form").serialize(); stepNumber содержит текущий номер шага, весь этот код находится внутри события showStep, которое срабатывает только после перехода на следующий шаг, а не при инициализации виджета. .

Это означает, что первая форма никогда не публикуется, только вторая и так далее.

Это весь мой код:

$("#smartwizard").on("showStep", function(e, anchorObject, stepNumber, stepDirection, stepPosition) {

  var form_data = $("#step_"+ stepNumber +"_form").serialize();

  console.log($("#step_"+ stepNumber +"_form input:radio:checked"));

  var formaataantal = $("#aantalenformaat").serialize();

  $.ajax({
    type:'post',
    url:"catalog/calcdiv.php",
    data:({form_data: form_data, formaataantal: formaataantal}),
    success:function(data){
       // indicate the ajax has been done, release the next step
       $("#smartwizard").smartWizard("next");
    }
  });
})

Но когда этот код запускается, виджет уже инициализируется этим кодом:

$('#smartwizard').smartWizard({
  lang: {
        next: 'Volgende',
        previous: 'Vorige'
    },
    useURLhash: false,
    showStepURLhash: false
});

Мастер запускается спервый шаг открыт, поэтому событие showStep всегда пропускает первый шаг.

Как это исправить?

...