ฉันจะลบแอตทริบิวต์ "ปิดการใช้งาน" ออกจากอินพุต HTML โดยใช้จาวาสคริปต์ได้อย่างไร
<input id="edit" disabled>
ที่ onClick ฉันต้องการให้แท็กอินพุตของฉันไม่ประกอบด้วยแอตทริบิวต์ "disabled"
ฉันจะลบแอตทริบิวต์ "ปิดการใช้งาน" ออกจากอินพุต HTML โดยใช้จาวาสคริปต์ได้อย่างไร
<input id="edit" disabled>
ที่ onClick ฉันต้องการให้แท็กอินพุตของฉันไม่ประกอบด้วยแอตทริบิวต์ "disabled"
คำตอบ:
ตั้งค่าdisabled
คุณสมบัติขององค์ประกอบเป็นเท็จ:
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'
นั้น
ทำไมไม่เพียงลบแอตทริบิวต์นั้น?
elem.removeAttribute('disabled')
elem.removeAttr('disabled')
jQuery("#success").removeAttr("disabled");
- มันใช้ได้กับฉันขอบคุณ!
removeAttribute
ดูเหมือนว่าจะรองรับใน IE11 มีเครื่องหมายว่าunknown
สามารถใช้ได้ดังนั้นฉันจึงเปิด IE และตรวจสอบว่าใช้งานได้หรือไม่ มัน.
ในการตั้งค่าเป็นdisabled
เท็จโดยใช้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>
รหัสของคำตอบก่อนหน้านี้ดูเหมือนจะไม่ทำงานในโหมดอินไลน์ แต่มีวิธีแก้ปัญหา: วิธีที่ 3
ดูการสาธิตhttps://jsfiddle.net/eliz82/xqzccdfg/
method 1 <input type="text" onclick="this.disabled=false;" disabled> <hr> method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>