Я создал функцию, в которой я блокирую все свои входы (я сделал это с циклом for). Теперь я хотел бы добавить условие, если кнопка отмечена разблокировать, если не отмечена блокировка.
Я написал следующий код:
<div class = "container">
<input type = "number" class = "block">
<input type = "text" class = "block">
<input type = "email" class = "block">
<input type = "checkbox" id = "scale1" name = "scales">
<label for = "scales">Scales</label>
</div>
function blockFileds() {
let inputsForm = document.getElementsByClassName('block');
let checker = document.getElementById('scale1');
for (const singleField of inputsForm) {
if (checker.checked) {
singleField.disabled = false;
} else {
singleField.disabled = true;
}
}
}
blockFileds()
вход заблокирован, но я не могу его разблокировать.
Сюда...
const
inputsForm = document.querySelectorAll('input.block')
, checker = document.querySelector('#scale1')
;
blockFileds()
checker.onclick = blockFileds
function blockFileds()
{
inputsForm.forEach( singleField =>
{
singleField.disabled = !checker.checked
})
}
.block, label {
display : block;
margin : .3em 0;
}
<div class = "container">
<input type = "number" class = "block">
<input type = "text" class = "block">
<input type = "email" class = "block">
<label>
<input type = "checkbox" id = "scale1" name = "scales">
Scales
</label>
</div>
вы можете попробовать это:
const inputsForm = document.getElementsByClassName("block");
const checker = document.getElementById("scale1");
function blockFileds() {
for (let singleField of inputsForm) {
if (!checker.checked) {
singleField.disabled = "";
} else {
singleField.disabled = true;
}
}
}
checker.onclick = () => {
blockFileds();
}
Удалить элементы из функции, И прикрепите addEventListener ко входу
let inputsForm = document.getElementsByClassName('block');
let checker = document.getElementById('scale1');
function blockFileds() {
for (let singleField of inputsForm) {
if (checker.checked) {
singleField.disabled = false;
} else {
singleField.disabled = true;
}
}
}
blockFileds()
checker.addEventListener("click", (e)=>{
blockFileds()
})