Атрибут hx-disabled-elt
Атрибут hx-disabled-elt позволяет вам указать элементы, к которым будет добавлен атрибут disabled на время запроса. Значением этого атрибута может быть:
- CSS-запрос селектора элемента, который нужно отключить.
thisдля отключения самого элемента.closest <CSS selector>— находит ближайший родительский элемент или сам элемент, который соответствует заданному CSS-селектору (например,closest fieldsetотключит ближайший к элементуfieldset).find <CSS selector>— находит первый дочерний элемент, который соответствует заданному CSS-селектору.next— ссылается на element.nextElementSibling.next <CSS selector>— просматривает DOM вперед для первого элемента, который соответствует заданному CSS-селектору (например,next buttonотключит ближайший следующий элемент-кнопку).previous— ссылается на element.previousElementSibling.previous <CSS selector>— просматривает DOM назад для первого элемента, который соответствует заданному CSS-селектору (например,previous inputотключит ближайший предыдущий элемент-ввод).
Вот пример с кнопкой, которая будет отключать саму себя во время запроса:
<button hx-post="/example" hx-disabled-elt="this"> Опубликовать!</button>Когда запрос выполняется, это приведет к тому, что кнопка будет помечена атрибутом disabled, что предотвратит дальнейшие нажатия.
Атрибут hx-disabled-elt также поддерживает указание нескольких CSS-селекторов, разделённых запятыми, для отключения нескольких элементов во время запроса. Вот пример, который отключает кнопки и текстовые поля ввода определённой формы во время запроса:
<form hx-post="/example" hx-disabled-elt="find input[type='text'], find button"> <input type="text" placeholder="Введите текст..."> <button type="submit">Отправить</button></form>hx-disabled-eltнаследуется и может быть размещён на родительском элементе.