Показать сообщение отдельно
  #1 (permalink)  
Старый 28.10.2016, 10:36
Интересующийся
Отправить личное сообщение для ru.scr Посмотреть профиль Найти все сообщения от ru.scr
 
Регистрация: 21.09.2016
Сообщений: 20

Помощь с обработкой формы Ajax
Приветствую, есть форма, обработка через Ajax, если поля не заполнены, все срабатывает нормально и текст с ошибками добавляет. Но если все формы заполнены, заявка непонятно как себя ведет, текст об ерорах удаляется, но текст об успешной отправки и закрытие окна (в попапе открывается) не происходит, хотя вроде бы все верно написано и при успешной отправке должно выводиться сообщение и через 5 сек закрывать окно, что не так?

var individualSize = {
    popup: function() {
        $('#individualSize input').val('');
        $('#individualSizeError').empty();
        $('#individualSize_ok').hide();
        $('#individualSize_body').show();
        $('#individual_page').val(location.href);
    },
    ajax: function() {
        var errors = false;
        $('#individualSizeError').empty();
        $('#individualSize input').each(function(i, input){
            if ($(input).val() == '') {
                $('#individualSizeError').append($('<li/>').text('Заполните поле ' + $(input).attr('placeholder')));
                errors = true;
            } else if (input.id == 'individual_email' && input.value != '' && validateEmail(input.value) === false) {
                $('#individualSizeError').append($('<li/>').text('Поле ' + input.placeholder + ' заполнено не верно'));
                errors = true;
            }
        });
        if (!errors) {
            $.ajax({
                url: '/sozdayte-kartinu/',
                type: 'post',
                data: $('#individualSize form').serialize(),
                dataType: 'json',
                success: function(json) {
                    if (json.error === false) {
        $('#individualSizeError').empty();
                        individualSize.popup();
                        $('#individualSize_ok').show();
                        $('#individualSize_body').hide();
                        setTimeout(function(){
                            $('#individualSize').find('.mfp-close').click();
                        }, 5000);
                    }
                }
            });
        }
    }
}
Ответить с цитированием