我的页面上有几个输入字段文本:
<input type="text">
当我在其中一些按 ENTER 时提交表单,这是我不想要的。 什么可能导致这种行为?
我三重检查,我没有提交按钮(实际上我根本没有任何按钮)
答案 0 :(得分:3)
您可以使用放置在HTML页面的head部分中的一些Javascript来禁用在输入字段中单击的输入:
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>
答案 1 :(得分:1)
您可能正在通过ajax
调用提交一些表单,以防止默认的浏览器行为。这就是为什么当您点击forms
时,您的某些enter
未提交。
要确保在按下输入时所有表单都不提交,您可以将自定义功能绑定到所有forms
,以检测何时按下enter
键。在此功能中,您可以阻止默认的浏览器行为。
$('form').keydown(function(e){
if(e.keyCode === 13) {
e.preventDefault();
return false;
}
});
示例Fiddle here。