Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.12.2017, 16:13
Новичок на форуме
Отправить личное сообщение для dvs365 Посмотреть профиль Найти все сообщения от dvs365
 
Регистрация: 14.12.2017
Сообщений: 1

бесконечный 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?

Последний раз редактировалось dvs365, 14.12.2017 в 16:21.
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2017, 17:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

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

$.ajax({
  beforeSend: function((xhr) {
    if(...) xhr.abort();
  },
....
   
})
Ответить с цитированием
  #3 (permalink)  
Старый 14.12.2017, 17:21
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При AJAX-запросе не посылается кнопка 'submit' hrundel Events/DOM/Window 17 31.05.2016 22:43
Нужно сделать проверку при нажати на submit ? ilyas-> Элементы интерфейса 4 09.10.2013 15:09
Метод submit() не передает массив $_POST ZaValera Общие вопросы Javascript 15 21.06.2012 16:02
привязать событие к submit flyingspook Общие вопросы Javascript 12 19.08.2011 14:35
submit в iframe по событию change vovasvv jQuery 1 21.05.2010 09:37