一般如果 input 的 type 是 submit,显然按回车可以提交表单,但有时没有 submit(比如用ajax提交),需要回车提交怎么办呢?上网随便查了一下,很简单,方法如下:
一、 <form name="myForm"> </form>
<script language="JavaScript" type="text/javascript">
document.onkeydown = function(evt){
var evt = window.event?window.event:evt;
if(evt.keyCode==13){
document.forms["myForm"].submit();
}//end if
}//end function(evt)
</script>
二、在text按回车,转到执行button的操作
<input type="text" onkeydown="keyDown();">
<input type="button" id="btn" onClick="function_example();">
<script type="text/javascript">
function keyDown(){
var e=event.srcElement;
if(event.keyCode==13){
document.getElementById("btn").focus();
document.getElementById("btn").click();
}//end if
}//end function
</script>
三、jQuery的方法也很简单
<input type="text" onkeydown="keyDown();">
<input type="button" id="btn" onClick="function_example();">
<script type="text/javascript">
function textKeyDown(){
jQuery.hotkeys.add('return',function(){
$('#button').click();
});
}//end function </script>
【补充】
其实最好的方法还是应该用 <input type="submit">,浏览器会自动启用回车提交。 一般用 <input type="button"> 无非就是想在提交表单前做次验证。
其实用 <input type="submit"> 也可以达到目的,但要给 <form> 加个属性 onsubmit=“return false”。 比如:
<form name="exampleForm" onsubmit="return false">
<input type="submit" onClick="abc();">
</form>
<script language="JavaScript" type="text/javascript">
function abc(){
if(false){
//这里写验证(别忘了if 中的 false 是条件
return false;
}else{
document.exampleForm.submit(); }//end if
}//end function </script>
【再补充】
先囧一下,ie下一个<form>里只有一个<input type="text">和一个<input type="submit">时,居然不能回车提交!!
解决办法:再加一个<input type="text" style="display:none"> 被这问题被雷得外焦内嫩!~~