0

我正在学习 JavaScript,并且正在开发待办事项列表类型的应用程序。

想法:“添加”按钮在 HTML 中设置为禁用,只有在至少有一个字符时才启用。

我的代码仅在至少有 2 个字符并且无法解决为什么它没有检测到第一个字符时才有效。

另一个相关的问题是如果输入框内容已被删除,我如何将“添加”按钮设置为禁用。

HTML

<input id="addToListInput" onkeydown="buttonStatus()" value="" type="text"><input id="addToListButton" disabled type="submit" Value="Add to list" onClick="addToList(this)">

JS

function buttonStatus() {
        var input = document.getElementById('addToListInput');
        var submit= document.getElementById('addToListButton');
        if (input.value.trim() ==""){
            submit.disabled=true;
        }else{
            submit.disabled=false;
        }
    }
4

2 回答 2

4

改为使用keyup。通过使用keydown您正在检测键何时按下,但文本框值在那时没有改变......

<input id="addToListInput" onkeyup="buttonStatus()" value="" type="text">
于 2013-09-16T16:01:36.070 回答
1

onkeydown 在实际触发输入控件之前触发,如果您使用 onkeyup 它应该可以按预期工作。

于 2013-09-16T16:04:10.390 回答