使用 JQuery 防止输入键提交表单
一些用户的常见做法是在填写Web表单时按Enter键。这可能是当他们刚刚移动到下一个字段时,但问题是这将提交表单。
为了防止这种情况发生,如果按下了回车键,您可以简单地停止提交表单。这是通过将JQuery事件绑定到表单的输入元素并在按下键时返回false来完成的,该键的keyCode值为13。我们还包括对JQuery方法的调用preventDefault()以停止事件传播。
$('form input').keydown(function (e) { if (e.keyCode == 13) { e.preventDefault(); return false; } });
更进一步,尝试实现用户的期望并将焦点跳转到表单中的下一个元素可能是一个想法。由于安全限制,无法将按下的键更改为选项卡,但可以轻松模拟我们正在寻找的事件。我们需要做的就是找到表单中的所有输入元素,找出当前元素的位置,然后关注下一个输入元素(如果存在)。下面的代码就是这样做的。
$('form input').keydown(function (e) { if (e.keyCode == 13) { var inputs = $(this).parents("form").eq(0).find(":input"); if (inputs[inputs.index(this) + 1] != null) { inputs[inputs.index(this) + 1].focus(); } e.preventDefault(); return false; } });