Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   бесконечный submit() (https://javascript.ru/forum/jquery/71808-beskonechnyjj-submit.html)

dvs365 14.12.2017 16:13

бесконечный submit()
 
$(document).ready(
    $('#dynamic-form').on('beforeSubmit', function(event, jqXHR, settings) {
        var form = $(this);
        if(form.find('.has-error').length) {
            return false;
        }

        $.ajax({
            url: form.attr('action'),
            type: 'post',
            data: form.serialize(),
            beforeSend: function(xhr, setting) {
                //form.attr("disabled","disabled");
//                Pace.stop();
//                Pace.bar.render();
            },
            success: function(data) {
                form.yiiActiveForm("updateMessages",data);
                if (form.find('.has-error').length == 0) {
                    form.removeAttr("id");
                    form.submit();
                } else {
//                    Pace.stop();
                }
            },
            error: function(data) {
            },
            complete: function() {
            },
        });
        return false;
    })
);


В общем атрибут удаляется и бесконечный сабмит и аякс запрос. Как сделать только один сабмит из jquery?

laimas 14.12.2017 17:04

Убрать запрос из 'beforeSubmit', должно быть:

$.ajax({
  beforeSend: function((xhr) {
    if(...) xhr.abort();
  },
....
   
})

Белый шум 14.12.2017 17:21

if (form.find('.has-error').length == 0) {
                    form.removeAttr("id");
                    form.submit();
}

Удаление атрибута не снимает уже поставленный обработчик. Смотрите метод .off в jQuery


Часовой пояс GMT +3, время: 18:08.