Как остановить форму в зависимости от ответа Ajax?

199
08 марта 2017, 19:03
var requestUrl = '/check_capcha.php';
    $('body').on('submit', 'form.me', function (e) {
        var postData = $("form.me").serialize();
        console.log(postData);
    $.ajax({
        type: "POST",
        data: postData,
        url: requestUrl,
        success:function(data){
            console.log(data);
        }
    });
        e.preventDefault();
    });

Как мне e.preventDefault(); вставить в проверку даты? код страницы check_capcha.php:

if (!$APPLICATION->CaptchaCheckCode($_POST["captcha_word"], $_POST["captcha_sid"]))
{
echo 0;
} else{
echo 1;
}
Answer 1

Я бы сделал не много по другому, в любом случае останавливал бы событие сабмита формы, но в случае если форма валидацию прошла, то значит сабмитим форму ещё раз, но уже без биндов на сабмит этой формы. Вот ваш пример не много модифицированный:

var requestUrl = '/check_capcha.php';
$('body').on('submit', 'form.me', function (e) {
    e.preventDefault();
    var postData = $("form.me").serialize();
    console.log(postData);
    $.ajax({
        type: "POST",
        data: postData,
        url: requestUrl,
        context: this,
        success:function(data){
            console.log(data);
            if (data == 1) {
                //Валидация прошла успешно, самбитим форму ещё раз, но уже не обрабатываем событие
                $(this).unbind('submit').submit();
            }
            else {
                //Валидацию не прошел, выполняем js дальше
            }
        }
    });
});

Минус только в том что если есть ещё обработчики на это событие - они уже тоже не отработают.

READ ALSO
flexbox не работает корректно на iphone 6 и ниже [требует правки]

flexbox не работает корректно на iphone 6 и ниже [требует правки]

flexbox не работает корректно на iphone 6 и ниже

313
Как изменить стрелку Select

Как изменить стрелку Select

Помогите убрать default стрелку Select и заменить его <i class="fa fa-angle-down">-ом:

962
Как добавить исключение в SQL запрос?

Как добавить исключение в SQL запрос?

Здравствуйте, у меня есть SQL запрос, который связывает 2 таблицы Нужно сделать ограничение на вывод, то есть если orderspaid = 1 тогда выводим, как...

326