我的表格带有&#34;所需&#34;在<input
&gt;中线。问题是,如果我用Enter终止字段值,我会感到烦恼&#34;请填写此字段&#34;对于下一个字段,因为它显然想要在Enter上提交表单。理想情况下,我想将键码13映射到9,因为如果您在字段值后输入Tab,即只需移动到下一个字段,就会出现我想要的行为。
我已经尝试了
$("form#checkout_form").keypress(function(e) {
if(e.keyCode == 13) {
e.keyCode = 9;
}
});
但这不起作用。有没有人有其他想法?
由于
答案 0 :(得分:4)
将e.keyCode设置为9不会将焦点移动到下一个输入,请尝试:
$("form input").keydown(function(e) {
if(e.keyCode == 13){
e.preventDefault(); // cancel default Enter key behaviour
$(this).next('input').focus();
}
});
答案 1 :(得分:0)
将函数绑定到表单的onsubmit
事件以执行必要的验证。您可以通过在此函数中返回false
来暂停表单提交。
阻止Enter尝试提交表单的另一种方法是删除<input type="submit">
并将其替换为按下时将调用form.submit()
的任何其他链接。它甚至可以是模仿经典提交按钮的<input type="button">
。按Enter键不会提交没有<input type="submit">
的表单。
答案 2 :(得分:0)
把它放在你的事件处理程序中:
e.preventDefault();