Подтвердить что ты не робот

Javascript удалить атрибут "disabled" для ввода html

Как я могу удалить атрибут "disabled" для ввода html с помощью javascript?

<input id=edit disabled>

at onclick Я хотел, чтобы мой тег ввода не состоял из атрибута "disabled".

4b9b3361

Ответ 1

Установите для свойства element disabled значение false:

document.getElementById('my-input-id').disabled = false;

Если вы используете jQuery, эквивалент будет выглядеть следующим образом:

$('#my-input-id').prop('disabled', false);

Для нескольких полей ввода вы можете получить к ним доступ по классу:

var inputs = document.getElementsByClassName('my-input-class');
for(var i = 0; i < inputs.length; i++) {
    inputs[i].disabled = false;
}

Где document можно заменить формой, например, чтобы найти только элементы внутри этой формы. Вы также можете использовать getElementsByTagName('input') для получения всех элементов ввода. В вашей итерации for вам нужно будет проверить, что inputs[i].type == 'text'.

Ответ 2

Почему бы просто не удалить этот атрибут?

  • vanilla JS: elem.removeAttribute('disabled')
  • jQuery: elem.removeAttr('disabled')

Ответ 3

Чтобы установить disabled в false, используя свойство name для ввода:

document.myForm.myInputName.disabled = false;

Ответ 4

method 1 <input type="text" onclick="this.disabled=false;" disabled>
<hr>
method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>
<hr>
method 3 <input type="text" onclick="this.removeAttribute('readonly');" readonly>

код предыдущих ответов, похоже, не работает в встроенном режиме, но существует обходной путь: метод 3.

см. демонстрацию https://jsfiddle.net/eliz82/xqzccdfg/