【发布时间】:2017-03-17 11:58:24
【问题描述】:
当输入字段不为空时,我有一个提交的文本区域。假设我想防止在同时按下回车键时多次提交,它只在每次刷新页面时提交。这是代码:
window.formWasSubmitted = false;
document.getElementById('new-input').addEventListener('keyup', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13 && $.trim($(this).val()) && !window.formWasSubmitted) { // enter key press && $(this).val().length > 0
e.preventDefault();
window.formWasSubmitted = true;
send();
}
//window.formWasSubmitted = false;
});
请问如何在每次输入数据时不刷新页面的情况下允许 textarea 提交
【问题讨论】:
-
您有一个条件 !window.formWasSubmitted 会阻止您再次提交,因为您已经将其设置为 true。您可以删除该条件,我看不出您需要它的原因
-
是的!如果我在多次按下 Enter 键盘时删除它,它会在 textarea 中提交与那些时间一样多的相同内容
-
那么文本框不应该只在按下回车键时发布吗?这通常是它的工作原理
-
是的,它应该但是一次按5次,它会发布五次相同的内容
-
然后你需要在你的 send() 方法中将标志设置为 true 并且还应该清除文本字段。
标签: javascript jquery html forms