一、采用钩子事件去捕获

键盘事件有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. PCB OD工具破解实例应用

    以下破解Genesis为例,对OD工具使用进行实例讲解 工具简单 介绍下下载地址: OD工具:是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器, 是为当今最为流行的 ...

  2. URI、URL、请求、响应、常见状态代码

    URI:路径(统一资源标识符,包括本地地址和网络地址) URL是URI的一种子路径, URI范围比URL范围广. URL (Uniform Resource Locator,统一全球资源定位符): 通 ...

  3. UE4源码版食用要记

    UE4源码版和预编译版不能共享工程,这和插件版是一样的. 一般来说我都是在VS中生成编辑器,于编辑器中添加新类,VS中编辑代码. 编译引擎的时候编译配置使用的是devepolmenteditor.开发 ...

  4. ubuntu上Hadoop三种运行模式的部署

    Hadoop集群支持三种运行模式:单机模式.伪分布式模式,全分布式模式,下面介绍下在Ubuntu下的部署 (1)单机模式 默认情况下,Hadoop被配置成一个以非分布式模式运行的独立JAVA进程,适合 ...

  5. PHP开发之旅-提取表单提交内容发送邮件

    在实际项目开发中,我们经常需要得到用户的反馈信息并及时回复.普通的留言板有一定的内容限制,而邮件则能满足这个需求.今天给大家演示一下怎么利用PHP发送电子邮件. 1.创建表单 <form nam ...

  6. 《Java编程的逻辑》第三部分 泛型与容器

  7. html5——:hover事件触发自己的:afert伪元素事件

    :hover事件触发自己的:afert伪元素事件中间是没有空格的

  8. 怎么搭建Hibernate对象持久化框架?

    DBC:(Java Data Base Connectivity)java数据库连接 java.sql包提供JDBC API,可通过它编写访问数据库的程序代码.其中常用的接口和类包括下面内容: Dri ...

  9. Linux 配置JDK + MyEclipse

    版本:Ubuntu16.04: jdK: Java SE Development Kit 8u102; My Eclipse: 10.6; JDK配置的细致步骤参见此处. 就一点要注意: 请使用代码进 ...

  10. 使用ScriptManager服务器控件前后台数据交互

    前台页面信息: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebFor ...