[javascript] javascript는 html 입력에서 “disabled”속성을 제거합니다.

javascript를 사용하여 HTML 입력에서 “disabled”속성을 제거하려면 어떻게합니까?

<input id="edit" disabled>

onClick에서 입력 태그가 “disabled”속성으로 구성되지 않기를 원합니다.



답변

요소의 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'.


답변

왜 그 속성을 제거하지 않습니까?

  1. 바닐라 JS : elem.removeAttribute('disabled')
  2. jQuery : elem.removeAttr('disabled')


답변

입력 속성을 disabled사용하여를 false로 설정하려면 name:

document.myForm.myInputName.disabled = false;


답변

가장 좋은 대답은 removeAttribute입니다.

element.removeAttribute("disabled");


답변

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>

이전 답변의 코드는 인라인 모드에서 작동하지 않는 것 같지만 해결 방법이 있습니다.

데모보기 https://jsfiddle.net/eliz82/xqzccdfg/


답변