一、采用钩子事件去捕获

键盘事件有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(以上内容小部分转自此篇文章)

Javascript控制回车键进行表单(form)提交(转)的更多相关文章

  1. ajax+FormData+javascript实现无刷新表单信息提交

    ajax+FormData+javascript实现无刷新表单信息提交 原理: dom收集表单信息,利用FormData快速收集表单信息  ,实例化表单数据对象 同时收集fm的表单域信息. var f ...

  2. form表单中只有一个input时,按回车键后表单自动提交(form表单的一个小坑)

    form中只有一个input按回车键表单会自动提交 在一个form表单中,若只有一个input,按回车键表单会自动提交,但是当表单中存在多个input时,按回车键不会执行任何操作,这是form表单的一 ...

  3. mvc表单Form提交 --实体

    1.方式1:字段加验证 @model MvcWeb.Models.UserInfo @{ ViewBag.Title = "Add"; } <h2>Add</h2 ...

  4. JavaWeb学习总结(十一):Session解决form表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

  5. java web学习总结(十三) -------------------使用Session防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

  6. JavaWeb防止表单重复提交(转载)

    转载自:http://blog.csdn.net/ye1992/article/details/42873219 在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用 ...

  7. JavaWeb---总结(十三)使用Session防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

  8. [Java拾遗五]使用Session防止表单重复提交

    申明:此文章属于转载, 转自博客: http://www.cnblogs.com/xdp-gacl/p/3859416.html在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没 ...

  9. java web 学习十三(使用session防止表单重复提交)

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

随机推荐

  1. vue-video-player视频播放插件

    安装依赖 npm install vue-video-player -S 引入配置 //main.js import 'video.js/dist/video-js.css' import 'vue- ...

  2. jQuery文档就绪

    很多jQuery代码都有如下片段: $(document).ready(function(){ //代码 }) 作用就是等文档结构加载完成后再去执行function中的代码,功能类似于window.o ...

  3. [转]五个Linux下用户空间的调试工具

    有几个Linux下的用户空间调试工具和技术,它们用来分析用户空间的问题相当有用.它们是: 'print' 语句 查询 (/proc, /sys 等) 跟踪 (strace/ltrace) Valgri ...

  4. 利用js写全选操作

    <script type="text/javascript"> function checkall(qx) { var ck=document.getElementsB ...

  5. CSS——background综合运用

    搜索栏图标: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...

  6. JS——动态添加事件和移除事件(有待补充...)

    动态的添加事件:利用 attachEvent 和 addEventListener IE 支持 attachEvent: obj.attachEvent("onclick", Fo ...

  7. CSS3:变换和动画

    <html> <style> .container{ -webkit-perspective: 800; -webkit-perspective-origin: 50% 40% ...

  8. Nrpe 插件安装教程

    Nrpe 插件安装教程  blog地址: http://www.cnblogs.com/caoguo 一.nagios plugins的安装 [root@Nrpe ~]# yum install -y ...

  9. python_时间日期

    time.time()用于获取当前时间戳 从返回浮点数的时间辍方式向时间元组转换,只要将浮点数传递给如localtime之类的函数. localtime = time.localtime(time.t ...

  10. pycharm之gitignore设置

    首先检查pycharm是否安装了ignore插件 项目目录如图: 选中项目automationTest名称,右击-->New-->查看是否有ignore file选项,如果有表示Pycah ...