Форма, отправляемая даже после protectDefault () после вызова ajax - PullRequest
0 голосов
/ 12 июня 2018

У меня есть метод javascript для проверки:

    function validar(event) {

            var arrIni = $("#initialDate").val().split("/");
            var arrFim = $("#endDate").val().split("/");
            var dateIni = new Date(arrIni[2], arrIni[1], arrIni[0]);
            var dataEnd = new Date(arrFim[2], arrFim[1], arrFim[0]);
            var check = true;
            if (dataEnd < dataIni) {
                event.preventDefault();
                toastr.error('End date must be higher than initial date!');
                check = false;
            } else {
                $.ajax({
                    url: '/Configurations/ValidateInsert/',
                    type: 'GET',
                    dataType: 'html',
                    data: { DataIni: $("#initialDate").val(), DataEnd: $("#endDate").val() },
                    cache: false,
                    success: function (response) {
                        if (response === 'false') {
                            event.preventDefault();
                            toastr.error('There is already a configuration with the given dates.');
                            check = false;
                        }else{
                           check = true;
}
                    },
                    failure: function (response) {
                        toastr.error('Error.');
                    },
                    error: function (response) {
                        toastr.error('Error.');
                    }
                });
            }
        }

Первая проверка работает.Проблема возникает, когда я пытаюсь вызвать проверку с использованием ajax.Даже если есть ошибка, форма все равно отправляет событие, когда я вызываю event.preventDefault, и toastr с сообщением об ошибке не отображается.Что мне здесь не хватает?

1 Ответ

0 голосов
/ 12 июня 2018

Если вы хотите применить проверки Ajax, измените тип кнопки с кнопки «Отправить» на обычную кнопку и $ («# Form Id»). Submit () JQuery, как указано ниже внутри функции успеха ajax.

$ ("#Form Id") .submit ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...