JavaScript:如何检测非空输入文本框

时间:2013-09-16 15:59:05

标签: javascript

我正在学习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;
        }
    }

2 个答案:

答案 0 :(得分:4)

请改用keyup。通过使用keydown,您检测到密钥何时关闭,但文本框值在此时未发生变化...

<input id="addToListInput" onkeyup="buttonStatus()" value="" type="text">

答案 1 :(得分:1)

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