Не могу остановить отправку события в Javascript - PullRequest
1 голос
/ 06 марта 2020

Я использовал это для проверки своей формы, но я могу остановить событие отправки на моей странице. Он по-прежнему отправляет данные и отправляет это. Почему? Как я могу это остановить?

    $(document).on("submit", "form", function(e) {
        if ($('#input-name').val() === '' && $('#input-phone-number').val() === '' && $('#input-address').val() === '' && $('#input-email').val() === '') {
            e.preventDefault();
            $('.noti-container').css({
                'opacity': '1',
                'z-index': '9999',
                'top': '20px',
                'background': '#FFCCCC'
            });
            $('.icon-container').html('<i class="fa fa-close"></i>');
            $('.notif').text('Please fill all field!');
            $('.notif').css({'color': 'black'});
            $('.icon-container').css({
                'background': '#F2F5A9'
            });
            setTimeout(function () {
                $('.noti-container').css({
                    'opacity': '0',
                    'z-index': '-1',
                    'top': '0',
                })
            }, 1500);
            return false;
        } else {
            return true;
        }
    });

Ответы [ 2 ]

3 голосов
/ 06 марта 2020

e.preventDefault();, кажется, присутствует в блоке if. Если , если условие принимает значение false, форма будет отправлена. Вам нужно переместить код e.preventDefault(); перед блокировкой if, чтобы предотвратить передачу во всех случаях.

Пример:

$(document).on("submit", "form", function(e) {
  e.preventDefault();
  // Remaining Code
}
0 голосов
/ 06 марта 2020

Добавлены некоторые изменения, попробуйте это

$(document).on("submit", "form", function(e) {

    e.preventDefault();

    alert('submit event stop');


    if ($('#input-name').val() === '' && $('#input-phone-number').val() === '' && $('#input-address').val() === '' && $('#input-email').val() === '') {

        $('.noti-container').css({
            'opacity': '1',
            'z-index': '9999',
            'top': '20px',
            'background': '#FFCCCC'
        });
        $('.icon-container').html('<i class="fa fa-close"></i>');
        $('.notif').text('Please fill all field!');
        $('.notif').css({'color': 'black'});
        $('.icon-container').css({
            'background': '#F2F5A9'
        });
        setTimeout(function () {
            $('.noti-container').css({
                'opacity': '0',
                'z-index': '-1',
                'top': '0',
            })
        }, 1500);
        return false;
    } else {
        return true;
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...