
JavaScript按钮禁用问题及解决方案
本文演示如何解决一个步进器中按钮禁用失效的问题。当步进器数值小于等于1时,减号按钮应该被禁用,但代码存在错误导致禁用功能失效。
问题代码及分析:
原代码中存在两个错误:
-
选择器错误:
document.querySelector('butten.jian')中的butten拼写错误,应为button。 -
属性设置错误:
but.style.disabled = "disabled"错误地尝试通过样式来设置disabled属性。disabled是一个属性,而非样式属性,应直接使用but.disabled = true;来设置。
修正后的代码:
function jian(ja) {
var input = ja.nextElementSibling;
var but = document.querySelector('button.jian');
var inp = input.value * 1 - 1;
if (inp <= 1) {
but.disabled = true;
} else {
but.disabled = false;
}
// ... (其余代码)
}
代码修改说明:
- 更正了
document.querySelector选择器中的拼写错误。 - 使用
but.disabled = true;正确地设置了按钮的disabled属性。 添加了else语句,当数值大于1时,解除按钮禁用状态,使按钮功能更完善。
通过以上修改,即可确保减号按钮在数值小于等于1时被正确禁用。










