Javascript控制回车键进行表单(form)提交(转)

一、采用钩子事件去捕获

键盘事件有3个:

keydown,keypress,keyup分别是按下,按着没上抬,上抬键盘 。

$(document).keyup(function(event){
  if(event.keyCode ==13){
    $("#submit").trigger("click");
  }
});

推荐:keyup,防止笔记本键盘不小心触摸到。

1、有些文档中有写成这样:

$(window).keydown(function(){
...
})

XP系统IE6下是不成功的。

2、还有input的

$("input").keydown(function(){
...
})

这种情况要在input获取焦点时候,才能监听到键盘事件。

二、采用form表单的形式

1、回车测试:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
<html>  
<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">  
    <title>submit例子 - aspxhome.com</title>  
</head>  
<body>  
    <h1>本demo演示在文本框中按enter键是否触发提交表单</h1>  
    <h2>默认情况下,一个文本框的时候,提交,不管按钮type是submit还是button</h2>  
    <form action="http://www.csdn.net">  
        <input type="text">  
        <input type="button" value="提交">  
    </form>  
    <h2>一个文本框的时候怎么才能做到不提交,方法是加一个隐藏掉的文本框</h2>  
    <form action="http://www.csdn.net">  
        <input type="text">  
        <input type="text" style="display:none">  
        <input type="button" value="提交">  
    </form>  
    <h2>只要有type为submit的按钮存在,一个文本框还是多个文本框都提交</h2>  
    <form action="http://www.csdn.net">  
        <input type="text">  
        <input type="submit" value="提交">  
    </form>  
    <h2>只要有type为submit的按钮存在,一个文本框还是多个文本框都提交</h2>  
    <form action="http://www.csdn.net">  
        <input type="text">  
        <input type="text">  
        <input type="submit" value="提交">  
    </form>  
    <h2>多个文本框的时候,不提交,用type为button的按钮就行啦</h2>  
    <form action="http://www.csdn.net">  
        <input type="text">  
        <input type="text">  
        <input type="button" value="提交">  
    </form>  
    <h2>用button元素时,FX和IE下有不同的表现</h2>  
    <form action="http://www.csdn.net">  
        <input type="text">  
        <input type="text">  
        <button>提交</button>  
    </form>  
    <h2>radio和checkbox在FX下也会触发提交表单,在IE下不会</h2>  
    <form action="http://www.csdn.net">  
        <input type="text">  
        <input type="radio" name="a">  
        <input type="checkbox" name="b">  
        <input type="checkbox" name="c">  
        <input type="button" value="提交">  
    </form>  
    <h2>type为image的按钮,等同于type为submit的效果</h2>  
    <form action="http://www.csdn.net">  
        <input type="text">  
        <input type="text">  
        <input type="image" src="/images/logo.gif">  
    </form>  
</body>  
</html>  

2、在form标签中来禁止enter键提交:

<form name="form" action="" method="post" onkeydown="if(event.keyCode==13)return false;" onSubmit="return checkSubmit();"> 

3、可以在form中增加一个隐藏的输入框。

4、可以在type="test"中增加onkeypress="javascript:return gosearch();"方法。

参考:

http://www.cnblogs.com/soundcode/p/6607746.html(以上内容转自此篇文章)

http://blog.csdn.net/u010871655/article/details/51260878(以上内容小部分转自此篇文章)

原文地址:https://www.cnblogs.com/EasonJim/p/7514113.html