Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Помощь с обработкой формы Ajax (https://javascript.ru/forum/css-html/65595-pomoshh-s-obrabotkojj-formy-ajax.html)

ru.scr 28.10.2016 10:36

Помощь с обработкой формы 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);
                    }
                }
            });
        }
    }
}

Deff 28.10.2016 10:47

ru.scr,
Попробуйте строки местами поменять ?
Цитата:

32 $('#individualSize_body').hide()
31 $('#individualSize_ok').show();
30 individualSize.popup();
==============
И лучше глядеть на онлайн странице с примером

ru.scr 28.10.2016 10:57

отправил вам личные сообщения, строки пробовал менять - не дало результата. Еще пробовал тестить, при всех заполненных полях, если убрать очистку ероров в функции строки (9-20), то очистка ероров не происходит, такое ощущение, что успешный результат вообще не срабатывает..

Deff 28.10.2016 11:06

ru.scr,
Пока изучаю страницу...

Deff 28.10.2016 11:09

ru.scr,
Поставьте временно Аlert на
Цитата:

26 dataType: 'json',
27 success: function(json) {
alert(json.error)

ru.scr 28.10.2016 11:54

Цитата:

Сообщение от Deff (Сообщение 433219)
ru.scr,
Поставьте временно Аlert на

поставил

Deff 28.10.2016 11:56

ru.scr,
Чот убегать нун, начальство в поход отправило... мож рони поможет...
Увидите на сайте - попросите в личку...

ru.scr 28.10.2016 12:03

Цитата:

Сообщение от Deff (Сообщение 433224)
ru.scr,
Чот убегать нун, начальство в поход отправило... мож рони поможет...
Увидите на сайте - попросите в личку...

Ок, написал ему в ЛС, может ответит:help:

Dilettante_Pro 28.10.2016 12:38

Цитата:

Сообщение от ru.scr
Сообщение от Deff
ru.scr,
Поставьте временно Аlert на
поставил

И что пишет?

ru.scr 28.10.2016 13:30

Цитата:

Сообщение от Dilettante_Pro (Сообщение 433231)
И что пишет?

ответил вам в лс


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