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 мс, так как тут продолжает идти проверка и очищать блок с результатами. Как это можно реализовать по другому, чтобы все работало корректно? Буду рад за помощь!
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Слушайте события input, change, paste.
А таймер не нужен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
25 нояб. 2024, в 18:39
30000 руб./за проект
25 нояб. 2024, в 18:35
30000 руб./за проект
25 нояб. 2024, в 18:33
10000 руб./за проект