Javascript удалить атрибут "disabled" для ввода html
Как я могу удалить атрибут "disabled" для ввода html с помощью javascript?
<input id=edit disabled>
at onclick Я хотел, чтобы мой тег ввода не состоял из атрибута "disabled".
Ответы
Ответ 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/