gazes12
@gazes12

Как можно корректно реализовать данную задачу?

function stateSubmitBtn(){
        setInterval(function(){
            var errors = new Array();
            
            const nameValue = $('.input--name').val().trim();
            const surnameValue = $('.input--surname').val().trim();
            const messageValue = $('.input--message').val().trim();

            if(nameValue == '' || surnameValue == '' || messageValue == ''){
                errors += 'Заполните все поля!'
            }else if (/^[0-9 ]+$/.test(messageValue) || /^[0-9 ]+$/.test(surnameValue) || /^[0-9 ]+$/.test(nameValue)) {
                errors += 'В полях запрещено вводить только цифры!';
            } 


            if(errors.length == 0){
                $('.button').removeClass('lock');
                $('.results').html(`<div class="result result--succ">Все корректно!</div>`);
            }else{
                $('.button').addClass('lock');
                $('.results').html(`
                <div class="result result--error">${errors}</div>
                `);
            }
            
        }, 100);
    }

    stateSubmitBtn();


if(errors.length == 0){
                $('.button').removeClass('lock');
                $('.results').html(`<div class="result result--succ">Все корректно!</div>`);
            }else{
                $('.button').addClass('lock');
                $('.results').html(`
                <div class="result result--error">${errors}</div>
                `);
            }

Проблема в том, что эти условия выполняются каждые 100 мс.
И если я хочу в result вывести результат извне, то он появляется на 100 мс, так как тут продолжает идти проверка и очищать блок с результатами. Как это можно реализовать по другому, чтобы все работало корректно? Буду рад за помощь!
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Слушайте события input, change, paste.
А таймер не нужен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 11:08
5000 руб./за проект
19 апр. 2024, в 10:59
150000 руб./за проект
19 апр. 2024, в 10:02
6000 руб./за проект