回车提交表单的方法

转自:http://wenku.baidu.com/link?url=IbCDo2DCp-EMQX7MFkzlsO7VaG3pm4hUuxxrleyhvhtW9x-g6B83xUX9kzJJIn5t1ZfKtNE82D_myem7ibgO2P47n3XAZUAzWYfnkynIULm 


一般如果 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"> 被这问题被雷得外焦内嫩!~~

你可能感兴趣的:(js,enter,键盘,回车,提交表单)