一般来说,它是不行的压制回车键的方式来提交表单。这被放弃,您可以实现这种功能,使用JavaScript的jQuery库(它会更容易使用)。
这是您的HTML的修改版本。我添加了一个数据属性,以确定这些形式,这不会对Enter键提交:
<!-- This one WILL NOT submit, when the Enter key is pressed -->
<form action="/" data-disable-enter="1">
<input type="text" name="firstname" value="Mickey">
</form>
<!-- This one WILL submit, when the Enter key is pressed
If you want to suppress the Enter key submission, add the data attribute data-disable-enter="1" -->
<form action="/">
<input type="text" name="firstname" value="Mickey">
<input type="text" name="lastname" value="Jerry">
</form>
这里是JavaScript代码,使用jQuery库来抑制回车键提交表单。附上一个事件监听器,用于侦听每个表单元素(input,select和textarea)上事件的所有表单中具有数据属性data-disable-enter="1"
的所有表单。如果按下的键码是13(which means "Enter"),那么我们将阻止与按键相关的默认操作,在我们的例子中是表单提交。
jQuery("form[data-disable-enter='1']").find("input, select, textarea").on("keydown", function(e){
// 13 is the key code for the Enter key
if(e.keyCode === 13){
e.preventDefault();
}
});
https://www.tjvantoll.com/2013/01/01/enter-should-submit -forms-stop-messing-that-that /#无提交按钮 –
@racz_gabor将其作为答案! (用于参考HTML规范4.10.22.2) –