attributes
и properties
- разные вещи, но они в некоторой степени связаны.
attributes
взяты из HTML, а properties
установлены в DOM.
В некоторых случаях изменения атрибута также изменит базовое свойство, и кажется, что disabled
является одним из них. По моему опыту, это не работает для всех свойств, хотя я не могу сразу придумать контрпример.
Я предоставил код, который демонстрирует установку атрибута и его удаление. Я также исправил несколько других проблем в коде.
В действительности, однако, ответ Криса Ли лучше, поскольку он задает properties
и является гораздо более чистым подходом.
function chkThis() {
// Note that we are getting the [0] -- the first matching name from the NodeList.
var isChk = document.getElementsByName('agecert')[0];
var isSub = document.getElementById('submit');
if (isChk.checked) {
isSub.removeAttribute("disabled");
} else {
isSub.setAttribute("disabled", "disabled");
}
}
<form>
<input name="agecert" type="checkbox" onclick="chkThis();" style="float: left;height: 20px;width: 25px;border: 1px solid red;" tabindex="8">
<p style="font-size: 10pt;left: 30px;position: absolute;text-align: justify;">Legal disclaimer stuffs...</p>
</div>
<div name="subres" style="width: 400px;height: 50px;top: 235px;left: 30px;position: relative;border: none;">
<button name="submit" type="submit" id="submit" style="left: 65px;" tabindex="9" disabled="disabled">Review Order</button>
<button name="reset" type="reset" style="left: 245px;" tabindex="10">Reset Form</button>
</div>
</form>