Form表单按回车自动提交表单的实现方法


Posted in Javascript onNovember 18, 2016

1.form表单中只有一个input标签,按回车键将自动提交表单

当form表单中只有一个<input type="text" name='name' />时按回车键将会自动将表单提交。

<form id='form1' action='a1.jsp' method='post'>
<input type='text' name='name' />
</form>

如果不想让其自动提交可以这样做:

再添加一个<input type="text"/>按下回车将不会自动提交,但是页面上显示一个不知所云的输入框挺别扭,后从网上搜到两个解决办法:

(1) 添加一个<input type='text' style='display:none'/>不显示输入框,然后回车之后也不会提交:

<form id='form1' action='a1.jsp' method='post'>
<input type='text' name='name' />
<input style='display:none' />
</form>

(2) 添加一个onkeydown事件,然后回车之后也不会显示:

<form id='form1' action='a1.jsp' method='post'>
<input type='text' name='name' onkeydown='if(event.keyCode==13) return false;'/>
</form>

ps: 我对于这个 event.keyCode==13表示没有看懂,只是理解为判断条件,但具体还是不懂.如果阁下明白,还请不吝赐教.

如果想添加回车事件,可以在onkeydown事件中添加判断提交表单:

<form id='form1' action='a1.jsp' method='post'>
<input style='display:none' />
<input type='text' name='name' onkeydown='if(event.keyCode==13){gosubmit();}' />
</form>

2.关于是否需要自动提交

我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此。比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键误操作在未完成表单填写的时候就触发了表单提交。

要控制这些行为,不需要借助JS,浏览器已经帮我们做了这些处理,这里总结几条规则:

如果表单里有一个type=”submit”的按钮,回车键生效。

如果表单里只有一个type=”text”的input,不管按钮是什么type,回车键生效。

如果按钮不是用input,而是用button,并且没有加type,IE下默认为type=button,FX默认为type=submit。

其他表单元素如textarea、select不影响,radio checkbox不影响触发规则,但本身在FX下会响应回车键,在IE下不响应。

type=”image”的input,效果等同于type=”submit”,不知道为什么会设计这样一种type,不推荐使用,应该用CSS添加背景图合适些。

以上所述是小编给大家介绍的Form表单按回车自动提交表单,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 浮动层菜单收藏
Jan 16 Javascript
jquery.validate使用攻略 第一部
Jul 01 Javascript
JS中getYear()和getFullYear()区别分析
Jul 04 Javascript
js实现将选中值累加到文本框的方法
Aug 12 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
Jul 11 Javascript
Angular中使用$watch监听object属性值的变化(详解)
Apr 24 Javascript
jQuery遮罩层实例讲解
May 11 jQuery
深入浅析Vue不同场景下组件间的数据交流
Aug 15 Javascript
Vue混入mixins滚动触底的方法
Nov 22 Javascript
javascript中可能用得到的全部的排序算法
Mar 05 Javascript
JavaScript常用工具函数库汇总
Sep 17 Javascript
使用vue-element-admin框架从后端动态获取菜单功能的实现
Apr 29 Vue.js
form+iframe解决跨域上传文件的方法
Nov 18 #Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
Nov 18 #Javascript
微信小程序开发实战教程之手势解锁
Nov 18 #Javascript
JavaScript之WebSocket技术详解
Nov 18 #Javascript
仿iframe效果Aajx文件上传实例
Nov 18 #Javascript
JavaScript之cookie技术详解
Nov 18 #Javascript
js前端解决跨域问题的8种方案(最新最全)
Nov 18 #Javascript
You might like
三种php连接access数据库方法
2013/11/11 PHP
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
一个简单的php路由类
2016/05/29 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
IE8 中使用加速器(Activities)
2010/05/14 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
node.js中watch机制详解
2014/11/17 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
javascript实现二叉树的代码
2017/06/08 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
2018/08/22 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
python中常用检测字符串相关函数汇总
2015/04/15 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
美国销售第一的智能手机和平板电脑保护壳:OtterBox
2017/12/21 全球购物
一套C#面试题
2013/10/09 面试题
大专应届生个人的自我评价
2013/11/21 职场文书
球队口号
2014/06/18 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
MySql分区类型及创建分区的方法
2022/04/13 MySQL
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL