2012-01-24 145 views

回答

189
$("input").keypress(function(event) { 
    if (event.which == 13) { 
     event.preventDefault(); 
     $("form").submit(); 
    } 
}); 
+2

不要忘记添加#在输入ID! – MadsterMaddness

+8

@MadsterMaddness使用''#只有当我们指定一个元素的ID前面。从这个答案中,它指定了所有''元素。 – Mai

44

更改#form到表单的ID

$('#form input').keydown(function(e) { 
    if (e.keyCode == 13) { 
     $('#form').submit(); 
    } 
}); 

或可替代

$('input').keydown(function(e) { 
    if (e.keyCode == 13) { 
     $(this).closest('form').submit(); 
    } 
}); 
+8

您只需在表格上的keydown事件结合,而不是结合的个人投入,:在keydown事件会传播到形式。 – Beejamin

+0

确实很有帮助!有道理不具备提交表单按钮处处 – cwiggo

+2

如果您的形式有多种输入元素则稍微好一点的是将处理的形式和过滤器从输入元素类似这样的事件绑定:在$(“#形式”)(”的keydown”,‘输入’,功能(E){... –

14

周杰伦吉尔福特的回答会的工作,但我认为真正的最简单的方法是只拍上display: none;表单中的提交按钮。

+4

这不适用于我,我必须设置可见性:隐藏;相反。 –

5

@JayGuilford的答案是一个很好的答案,但如果你不想JS依赖项,你可以使用提交元素,并使用display: none;来隐藏它。