使用回车键提交并阻止提交空文本

时间:2015-08-19 04:53:40

标签: javascript

当我按下回车键时我需要提交表格,但是当我仍在输入我的留言时,此代码会提交。它应该让我完成输入并按Enter键提交,但如果文本为空白则不允许它提交。

(function() {
    var age = document.getElementById('age');
    age.addEventListener('keypress', function(event) {
        if (event.keyCode == 13) {
            event.preventDefault();
            if (age.value > 20) {
                document.getElementById('post').click();
            } 
        }else {
                document.getElementById('post').click();
            }
    });
}());

并检查此项以添加shft + enter的多个密钥代码以允许我继续我的消息。

var done = disabled;
if (event.keyCode == 13) document.getElementById('post').click();
else if(e.keyCode==16 && e.keyCode==13)document.getElementById('post').disabled == done;`

2 个答案:

答案 0 :(得分:1)

您提交的是ifelse,无论您按下的是什么键,您都会提交表单。删除其他:

(function() {
    var age = document.getElementById('age');
    age.addEventListener('keypress', function(event) {
       if (event.keyCode == 13) {
            event.preventDefault();
            if (age.value > 20) {
                document.getElementById('post').click();
            } 
       }
    });
}());

答案 1 :(得分:0)

除非按键是输入,否则不应运行document.getElementById('post').click();。您可以通过删除代码中的else语句来解决此问题。