回車提交表單的方法

轉自: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"> 被這問題被雷得外焦內嫩!~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章