@shmelfrol
Системный администратор, веб-программист junior

Почему не срабатывает event.preventDefault()?

Объясните, пожалуйста, почему не срабатывает event.preventDefault(), если ucr.value 1, а data {"1":1,"2":2,"3":3,"4":4,"5":5,"6":6,"7":7}
срабатывает только alert('данное значение ucr уже существует') но действие кнопки не отменяется
$('#mybutton').on('click', function (event) {
    $.ajax({
        url: '/zayavki/atr/getucr',
        type: 'POST',
        data: {
        },
        success: function(data){
            let res = JSON.parse(data);
            console.log(data);
            console.log(res);
            console.log('!____________!')
            let ucr=document.getElementById('ucr');
            if(data.includes(ucr.value)){
                alert('данное значение ucr уже существует');
                event.preventDefault();
            }

            console.log(data.includes(ucr.value));
                    },
        error: function(){
            alert('Error!');
        }
    });
});
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
kellas
@kellas
веб-разработчик
Потому что event.preventDefault() у вас вызывается только после получения результата запроса - то есть через некоторое время, когда уже поздно и кнопка уже отработала.

перенесите event.preventDefault() до или после конструкции ajax запроса
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы