Как сделать кнопку неактивной, пока не отмечен чекбокс с помощью JS

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Изменение вида кнопки по чекбоксу

Задача. Стояла задача сделать так, чтобы кнопка формы Contact Form 7 выглядела неактивной до тех пор пока не будут отмечены определенные чекбоксы (галочки) в форме (вроде «Согласие на обработку..»). Т.е. сама кнопка и так не срабатывает пока не отмечены обязательные чекбоксы, но нужно сделать, чтобы еще и визуально это было видно.

В принципе, по умолчанию Contact Form 7 делает такую функцию, но по какой-то причине это было переопределено.

Пример:
Обязазательное условие соглашение 1
Обязазательное условие соглашение 2

.green-button{background: green;}
.grey-button {background: grey !important;}
[type=”checkbox”] {margin-right: 5px;}

document.getElementById(‘check-1’).addEventListener(“click”, displaySubmit);
document.getElementById(‘check-2’).addEventListener(“click”, displaySubmit);
let check_1 = document.getElementById(‘check-1’);
let check_2 = document.getElementById(‘check-2’);
let submit_button = document.getElementById(‘submit-button’);
submit_button.classList.add(“grey-button”);
function displaySubmit(){
console.log(check_1.checked);
console.log(check_2.checked);
if (check_1.checked && check_2.checked){
submit_button.classList.remove(“grey-button”);
} else {submit_button.classList.add(“grey-button”);}
}

Решение. Используем JavasScript. Для кнопки нужно предусмотреть отдельный класс который будет давать ей серый цвет и прописать в стилях. Вешаем обработчик событий по клику на чекбоксы, с функцией, которая будет проверять у чекбоксов параметр checked на true / false, т.е. поставили галочку на чекбоксе или нет. Если оба чекбокса «true», то функция должна удалить у кнопки класс отвечающий за задание серого цвета.

HTML

JavaScript

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии