尝试禁用按钮,直到填写表单字段,我似乎无法完成此操作。我创建了一个带有单个字段的小例子,但原则与更大的形式相同。
有人可以帮忙吗?
代码:
function checkForm() {
var name = document.getElementById("name").value;
var cansubmit = true;
if (name.value.length == 0) {
cansubmit = false;
}
if (cansubmit == false) {
document.getElementById("submitbutton").disabled = true;
}
};

<input type="text" id="name" onkeyup="checkForm()" />
<button type="button" id="myButton">Test me</button>
&#13;
答案 0 :(得分:1)
您的样本中存在一些错误:
var name
被分配给name元素的值字符串,然后检查该属性的value
属性 - 该字符串没有value
属性。id
为myButton
,因此请使用该ID按ID获取(设置disabled
属性时)。最初禁用按钮听起来是个好主意,对吗?
见下面的更正示例:
function checkForm()
{
var name = document.getElementById("name").value;
var cansubmit = (name.length > 0);
document.getElementById("myButton").disabled = !cansubmit;
};
&#13;
<input type="text" id="name" onkeyup="checkForm()" />
<button type="button" id="myButton" disabled="disabled">Test me</button>
&#13;
您可能还想考虑通过除按键以外的方法处理更改 - 例如mouseup等...我尝试添加onchange="checkForm()"
并且它只能用于模糊(焦点变化)......