input в форме, нужно запретить вставку цифр(через копипаст или автозаполнение) в определенные поля, имеется вот такое решение, однако при вставке выбивает такую ошибку в консоль, как исправить?
Сама ошибка: TypeError: Cannot read properties of undefined (reading 'replace')
Код: let fullname = document.querySelectorAll('.fullname');
fullname.forEach(item => {
//запрет ввода
item.addEventListener('keydown', e => {
if( e.key.match(/[0-9]/) ) return e.preventDefault();
});
//запрет вставки
item.addEventListener('input', e => {
fullname.value = fullname.value.replace(/[0-9]/g, "");
});
});
что у тебя лежит в fullname? у него точно есть поле .value?
<form class="form" action="action.php" method="POST"> <div class="form__wrapper"> <input type="text" name="surname" placeholder="Фамилия" class="fullname"/> <input type="text" name ="name" placeholder="Имя" class="fullname"/> <input type="text" name ="patronymic" placeholder="Отчество" class="fullname"/> <input type="submit"> <input type="reset" value="Очистить"> </div> </form> Ну вся форма в таком виде у меня
посмотри еще раз на код и ответь что лежит в fullname
Не совсем понимаю что я ответить должен, уже голова кипит даже в этом
что возвращает document.querySelectorAll?
Обсуждают сегодня