当我按下回车键时我需要提交表格,但是当我仍在输入我的留言时,此代码会提交。它应该让我完成输入并按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;`
答案 0 :(得分:1)
您提交的是if
和else
,无论您按下的是什么键,您都会提交表单。删除其他:
(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语句来解决此问题。