Как удалить атрибут disabled js
Перейти к содержимому

Как удалить атрибут disabled js

  • автор:

Атрибут disabled в JavaScript

В HTML существуют специальные атрибуты без значений, например, атрибут disabled , используемый для блокировки элементов. Для того, чтобы установить такой атрибут, соответствующему свойству требуется присвоить значение true , а чтобы убрать — значение false .

Давайте посмотрим на практике. Пусть у нас есть заблокированый инпут:

Давайте выведем значение атрибута disabled этого инпута:

let elem = document.querySelector(‘#elem’); console.log(elem.disabled); // выведет true

А теперь давайте отблокируем его:

let elem = document.querySelector(‘#elem’); elem.disabled = false;

Дан инпут и кнопка. По нажатию на кнопку заблокируйте инпут.

Дан инпут и две кнопки. Пусть нажатие на первую кнопку блокирует инпут, а нажатие на вторую — отблокирует.

Дан инпут и кнопка. По нажатию на кнопку узнайте, заблокирован инпут или нет.

Element.removeAttribute()

Вы должны использовать removeAttribute вместо того, чтобы устанавливать значение атрибута в null, используя setAttribute.

Попытка удаления атрибута, которого нет на элементе не вызывает ошибки.

Методы DOM имеют дело с атрибутами элементов:

Не знают пространства имён, наиболее часто используемые методы Вариант, знающий пространство имён (Уровень DOM 2) Уровень DOM 1 методы для работы с Attr узлами напрямую (используется редко) Уровень DOM 2 знает о методах пространства имён для работы с Attr узлами напрямую (используется редко)
setAttribute (DOM 1) setAttributeNS (en-US) setAttributeNode (en-US) setAttributeNodeNS (en-US)
getAttribute (DOM 1) getAttributeNS (en-US) getAttributeNode (en-US) getAttributeNodeNS (en-US)
hasAttribute (DOM 2) hasAttributeNS (en-US)
removeAttribute (DOM 1) removeAttributeNS (en-US) removeAttributeNode (en-US)

Спецификация

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 3 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

Как убрать атрибут disabled у формы?

Всем привет!
Задача,которая стоит передо мной стоит: При нажатии на кнопку,атрибут disabled у fieldset должен убираться. Я использую очевидное решение,но не работает,вот это и вводит меня в ступор.
Код: https://jsfiddle.net/g1hxfcdm/5/

  • Вопрос задан более трёх лет назад
  • 1653 просмотра

Комментировать
Решения вопроса 2

hummingbird

Антон @hummingbird

Конкретно для одного fieldset правильно так:

var allFieldsets = document.querySelectorAll('fieldset')[0] // 

Это потому что вы в ответ получаете массив:

var allFieldsets = document.querySelectorAll('fieldset') // NodeList []

Ответ написан более трёх лет назад

NooNoo

Mikhail Rerberg @NooNoo Автор вопроса
Не прокатило,все равно не откликается.

hummingbird

Антон @hummingbird

hummingbird

Антон @hummingbird
Mikhail, этот вариант точно рабочий. Вы неправильно кнопку получали.

NooNoo

Mikhail Rerberg @NooNoo Автор вопроса
Антон, Помогло,благодарю!

hummingbird

Антон @hummingbird
Mikhail, рад был помочь.
Stalker_RED @Stalker_RED

Две ошибки:
1. кнопки нет
2. querySelectorAll возвращает NodeList, и у него нет метода removeAttribute

var mainPin = document.querySelector('button'); var allFieldsets = document.querySelector('fieldset'); // вместо querySelectorAll mainPin.addEventListener('mouseup', function () < allFieldsets.removeAttribute('disabled'); >);

вот это и вводит меня в ступор

В любой непонятной ситуации смотрите логи. в данном случае f12, чтобы открыть консоль, и там красненьким ошибки.

Ответ написан более трёх лет назад

NooNoo

Mikhail Rerberg @NooNoo Автор вопроса

Я просто не добавил в fiddle кнопку,косяк.
У меня несколько этих полей,поэтому я использовал querySelectorAll,это тоже обновил в фиддле

Stalker_RED @Stalker_RED

Mikhail, и все должны разблокироваться одной кнопкой?

[. allFieldsets].forEach(fieldset=>fieldset.removeAttribute('disabled'))

Как удалить атрибут «disabled» на неактивном элементе при нажатии на него?

Но, так не выйдет, ибо я кликаю на отключённый input. Какие есть выходы?

Отслеживать

5,264 1 1 золотой знак 18 18 серебряных знаков 36 36 бронзовых знаков

задан 2 июн 2018 в 18:11

Eugen Eray Eugen Eray

1,196 2 2 золотых знака 14 14 серебряных знаков 31 31 бронзовый знак

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Вот так можно сделать:

var inPut = document.querySelector("input"); inPut.setAttribute("disabled", "true"); document.onclick = function(e) < if(e.target == inPut) < inPut.removeAttribute("disabled"); inPut.focus(); >else inPut.setAttribute("disabled", "true"); >;

Если нажать на input , то он станет активным, а если мимо, то снова заблокированным.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *