javascript Usuń atrybut "disabled" z wejścia html
Jak mogę usunąć atrybut "disabled" z wejścia HTML za pomocą javascript?
<input id="edit" disabled>
W onClick chcę, aby mój znacznik wejściowy nie składał się z atrybutu" disabled".
5 answers
Ustawia właściwość elementu disabled
Na false:
document.getElementById('my-input-id').disabled = false;
Jeśli używasz jQuery, odpowiednikiem będzie:
$('#my-input-id').prop('disabled', false);
Dla kilku pól wejściowych, możesz uzyskać do nich dostęp za pomocą klasy:
var inputs = document.getElementsByClassName('my-input-class');
for(var i = 0; i < inputs.length; i++) {
inputs[i].disabled = false;
}
Gdzie document
można zastąpić formularzem, na przykład, aby znaleźć tylko elementy wewnątrz tego formularza. Możesz również użyć getElementsByTagName('input')
, aby uzyskać wszystkie elementy wejściowe. W swojej iteracji for
, musisz to sprawdzić inputs[i].type == 'text'
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-30 11:05:14
Dlaczego po prostu nie usunąć tego atrybutu?
- vanilla JS:
elem.removeAttribute('disabled')
- jQuery:
elem.removeAttr('disabled')
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-12 01:30:32
Aby ustawić disabled
Na false używając właściwości name
Wejścia:
document.myForm.myInputName.disabled = false;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-08 13:19:28
Najlepszą odpowiedzią jest po prostu removeAttribute
element.removeAttribute("disabled");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-01 11:07:11
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>
Kod poprzednich odpowiedzi wydaje się nie działać w trybie inline, ale istnieje obejście: Metoda 3.
Zobacz demo https://jsfiddle.net/eliz82/xqzccdfg/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-18 13:19:37