Отключить всю форму в js без индивидуального отключения каждого поля - PullRequest
0 голосов
/ 14 апреля 2020

Я создал форму, используя JSF. В моей форме много аккордеонных панелей, и каждая аккордеонная панель состоит из нескольких полей.

Я хочу отключить все поля одной такой панели аккордеона, используя js. Вместо индивидуального отключения каждого поля панели аккордеона, существует быстрый способ отключить всю панель аккордеона одновременно.

1 Ответ

0 голосов
/ 14 апреля 2020

Вы можете добавить класс ко всем полям формы и затем выбрать поля с этим классом.

Получив ссылку на DOM, вы можете l oop на полях формы и отключить.

Демо:

function disableForm() {
    let elems = document.querySelectorAll(".form-elements");
    for (const elem of elems) {
        elem.disabled = true;
    }
}

function enableForm() {
    let elems = document.querySelectorAll(".form-elements");
    for (const elem of elems) {
        elem.disabled = false;
    }
}
<form>
<label>Element 1</label><br />
<input type="text" class="form-elements" /> <br />
<label>Element 2</label> <br />
<select class="form-elements"> <br />
    <option value="1">1</option>
</select>
<br />
</form>
<br />
<button type="button" onclick="disableForm()">Disable Form</button>
<button type="button" onclick="enableForm()">Enable Form</button>
...