jQuery Steps - сброс на основной шаг - PullRequest
0 голосов
/ 21 мая 2018

Я ссылался на эти ссылки для возврата к первому шагу, но это не помогло.

На последнем шаге я добавил пользовательскую кнопку «Отправить».И хочу сбросить форму, а также шаги по ajax submit.

Это мой код,

$("#employee_create").steps({
    headerTag: "h6",
    bodyTag: "section",
    transitionEffect: "fade",
    titleTemplate: '<span class="step">#index#</span> #title#',
    labels: {
        finish: "Submit"
    },
    onStepChanged: function (event, currentIndex, newIndex) {
        if (currentIndex === 4) { //if last step
            //remove default #finish button
            $('#employee_create').find('a[href="#finish"]').remove();
            //append a submit type button
            $('#employee_create .actions li:last-child').append('<button type="button" id="emp_submit" onclick="empFormSubmit(this)" class="btn btn-primary">Submit <span class="spinner" style="display: none;"><i class="fa fa-circle-o-notch fa-spin"></i></span></button>');
        } else {
            $('#emp_submit').remove();
        }
    },
    onStepChanging: function (event, currentIndex, newIndex) {
        return currentIndex > newIndex || !(3 === newIndex && Number($("#age-2").val()) < 18) && (currentIndex < newIndex && (emp_form.find(".body:eq(" + newIndex + ") label.error").remove(),
                emp_form.find(".body:eq(" + newIndex + ") .error").removeClass("error")),
                emp_form.validate().settings.ignore = ":disabled,:hidden",
                emp_form.valid());
    },
    onFinishing: function (event, currentIndex) {
        return emp_form.validate().settings.ignore = ":disabled",
                emp_form.valid();
    },
    onFinished: function (event, currentIndex) {

    }
}), $("#employee_create").validate({
    ignore: "input[type=hidden]",
    errorClass: "text-danger",
    successClass: "text-success",
    highlight: function (element, errorClass) {
        $(element).removeClass(errorClass);
    },
    unhighlight: function (element, errorClass) {
        $(element).removeClass(errorClass);
    },
    errorPlacement: function (error, element) {
        error.insertAfter(element);
    },
    rules: {
        email: {
            email: !0
        }
    }
});

То, что я до сих пор пробовал, это

$('#emp_submit').on('click', function(){
    emp_form[0].reset();
});

Чтоя делаю не так?

1 Ответ

0 голосов
/ 21 мая 2018

Я добавил собственный скрипт для сброса шагов, который я не нахожу правильным.

$('#employee_create-p-0').show();
$('#employee_create-p-4').hide();
$('#employee_create .steps').find('li').removeClass().addClass('disabled');
$('#employee_create .steps li:first').removeClass('disabled').addClass('first current');

Пожалуйста, дайте мне знать, если есть какой-либо другой надежный способ сделать это.

...