一般如果 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"> 被這問題被雷得外焦內嫩!~~