【发布时间】:2018-07-26 14:55:11
【问题描述】:
我不太确定如何问/说出这个问题,但是...
如何防止表单从另一个 jQuery 函数提交?基本上,我有具有自动完成功能的输入字段,最终用户可以使用向上和向下箭头键浏览结果。最终用户可以按 Enter 键进行选择,但这会使表单提交。我想防止这种情况发生。
$('body').on('click keyup', '.inputField1', function(e) {
if(e.keyCode===13){
// Attempting to remotely prevent the form from submitting
var form = $(this).closest('form');
form.preventDefault();
form.stopPropagation();
return false;
}
// auto-complete logic below
// ...
});
请注意,我已尝试在$('#myForm1').submit(function(e){ ... 下添加上述逻辑,但输入时未检测到回车键。
【问题讨论】:
-
如果您的意思是将
on('click keyup)` 逻辑放入submit函数处理程序,那么这就是您的问题。它应该放在 document.ready 处理函数的范围内 -
你用什么插件来自动完成?在这种情况下按 enter 不应触发输入上的 enter 键事件。
-
@RoryMcCrossan 不。我从来没有暗示过。
-
Please note that I've tried adding the logic above under $('#myForm1').submit(function在这种情况下,这应该是什么意思? -
当您按下箭头键时,焦点应该从输入移动到选择。此时,按 Enter 不会提交表单。
标签: javascript jquery forms preventdefault