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)
И что пишет?

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

ru.scr 28.10.2016 17:53

Помогите срочно пожалуйста, готов заплатить за помощь!

Deff 28.10.2016 23:51

ru.scr,
1. Вы отрубили интерес к теме, так и не ответив что же выдаёт алерт при верном заполнении формы ?(не думаю что это настолько секретно)

2. Делать проверки нужно пошагово!

3. Раз ошибка на этапе отправки валидной формы, - завтоматизируйте заполнение формы скриптом валидными данными, ибо я раз пять потыкал, форма у меня так и не отправилась, - интерес к продолжению пропадает.
Для помощи нужно временно автоматизировать процесс автозаполнения формы из подготовленного массива валидными данными...

ru.scr 29.10.2016 08:54

Так в том то и дело, что алерт ничего не выдает.

Ну и проблема в том, что как раз таки форма уходить не хочет и не выводит никаких ошибок и успеха.. Точнее на почту то приходит, но вот success не срабатывает в аяксе

Цитата:

Сообщение от Deff (Сообщение 433322)
ru.scr,
1. Вы отрубили интерес к теме, так и не ответив что же выдаёт алерт при верном заполнении формы ?(не думаю что это настолько секретно)

2. Делать проверки нужно пошагово!

3. Раз ошибка на этапе отправки валидной формы, - завтоматизируйте заполнение формы скриптом валидными данными, ибо я раз пять потыкал, форма у меня так и не отправилась, - интерес к продолжению пропадает.
Для помощи нужно временно автоматизировать процесс автозаполнения формы из подготовленного массива валидными данными...


ru.scr 29.10.2016 09:09

Т.е. грубо говоря работает все, кроме success: function(json) { }

Все условия тупо игнорируются.

ru.scr 29.10.2016 09:22

Разобрался сам, спасибо всем.

parasiuk 01.11.2016 10:33

В чем была причина?

ru.scr 09.11.2016 19:51

Цитата:

Сообщение от parasiuk (Сообщение 433655)
В чем была причина?

Обработчик криво работал, с js все норм.


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