С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 15.03.2019
Сообщений: 189

Проверка наличие класса у всех элементов в форме

09.02.2025, 14:06. Показов 1297. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста,как сделать проверку наличие класса у всех элементов в form

Например если после заполнения всех input в форме есть класс checker, то тогда в button добавить класс active
если хотя бы один input не заполнен, нет класса checker то тогда класс не добавлять

HTML5
1
2
3
4
5
6
7
<form class="form" enctype="multipart/form-data" method="post" >
        <input class="input"  onchange='this.classList.add("checker");'   type="text"   required="required"  >
       <input class="input"  onchange='this.classList.add("checker");'   type="text"   required="required"  >
        <button class="zayv_button">
          отправить
          </button>
    </form>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.02.2025, 14:06
Ответы с готовыми решениями:

Вывод на экран всех элементов формы
Здравствуйте, уже достаточно долго хожу вокруг да около, но не могу понять как делать одну вещь... Включить в HTML-форму специальную...

Проверка элементов формы
Я написал функции которые проверяют правильность E-mail, пароля, даты рождения и т.п. Работать они работают, выдают ответ после submit и...

Проверка формы (на наличие цифр)
В Jscript не силен. Помогите сделать проверку формы на наличие в input type=text только цифр. Т.е. поле не должно быть пустым и не должно...

2
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3813 / 1651 / 428
Регистрация: 14.03.2022
Сообщений: 4,122
09.02.2025, 15:55
Цитата Сообщение от anton24 Посмотреть сообщение
если после заполнения всех input в форме есть класс checker, то тогда в button добавить класс active
если хотя бы один input не заполнен, нет класса checker то тогда класс не добавлять
Предложу такой вариант...

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<style>
button {
    display: none;
    &.active {
        display: inline-block;
    }
}
</style>
<form class="form" enctype="multipart/form-data" method="post" >
    <input class="input"  onchange='this.classList.add("checker");'   type="text"   required="required"  >
    <input class="input"  onchange='this.classList.add("checker");'   type="text"   required="required"  >
    <button class="zayv_button">
        отправить
    </button>
</form>
<script>
document.querySelector('form').addEventListener('change', function(){
    const o = this.querySelector('.input:not(.checker)')
    this.querySelector('button').classList.toggle('active', !o)
})
</script>
1
 Аватар для voraa
1242 / 1142 / 178
Регистрация: 21.01.2024
Сообщений: 5,224
09.02.2025, 17:31
Лучший ответ Сообщение было отмечено anton24 как решение

Решение

Как то это не то.
Пользователь может начать заполнять инпут, и у него установится класс checker, а потом все сотрет. Но класс останется.
Если есть поля required и они не заполнены, то эти поля и сама форма будут иметь псевдокласс :invalid.
Поэтому нужно


PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<style>
button {
    display: none;
    &.active {
        display: inline-block;
    }
}
</style>
<form class="form" enctype="multipart/form-data" method="post" >
    <input class="input"   type="text"   required="required"  >
    <input class="input"   type="text"   required="required"  >
    <button class="zayv_button">
        отправить
    </button>
</form>
<script>document.querySelector('form').addEventListener('change', function(){
    const o = this.querySelector('.input:invalid');
    this.querySelector('button').classList.toggle('active', !o);
})
</script>
Но по хорошему и это неправильно. Кнопка должна быть всегда. Что бы пользователь сразу ее видел. Если она появляется когда то потом то ее могут и не заметить.
Неверно заполненные поля тоже надо отмечать.
Самое правильное, когда пользователь может в любой момент нажать на кнопку, но если что то не заполнено или заполнено неверно, ему об этом сообщается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.02.2025, 17:31
Помогаю со студенческими работами здесь

Постоянная проверка на наличие элемента
Вот такой вопрос, как сделать на Ajax сайте постоянную проверку на наличие div Блока, и если блок найден выполнить то-то действие, а если...

Проверка на число элементов формы
Доброго времени суток! Есть страница c формой, которая методом POST отсылает данные. &lt;html&gt; &lt;head&gt; ...

Проверка элементов формы
&lt;input type=&quot;checkbox&quot; class=&quot;all&quot;/&gt; Все&lt;br/&gt; &lt;input type=&quot;checkbox&quot; class=&quot;chk&quot;/&gt;&lt;br/&gt; &lt;input type=&quot;checkbox&quot;...

Убрать класс со всех элементов, к которым он применен
Как это организовать? Пробовал что-то такое: document.getElementsByClassName('class').className='' но, к сожалению ничего не удалось(

Проверка наличия элемента на странице циклом и остановка в случае true
Доброго дня уважаемое сообщество. Возник очень неприятный вопрос. У нас есть скрипт который подгружает некий блок через некое время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru