• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JSP > JSP中的FORM表单中只有一个input文本时,按回车键将会自动提交表单

JSP中的FORM表单中只有一个input文本时,按回车键将会自动提交表单

作者:jasyca503 字体:[增加 减小] 来源:互联网 时间:2017-05-11

jasyca503通过本文主要向大家介绍了请按 回车 键发起检索,按回车键文字消失,按回车键前 再次检查,电脑开机要按回车键,word按回车键不换行等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一个列表界面只有一个输入框查询条件,当首次进入在输入框中输入汉字后,按回车键发现输入框中汉字变成乱码!本以为一个很简单不过的问题,结果却花了好久才找到原因(据说是浏览器问题),按回车后执行了两次查询。

1、未修改前代码:

<form id="ff" name="ff" method="post"> 
  <input type="text" id="userName" name="userName" size="12" maxlength='30' value="${(data.userName)!''}" onKeypress= "javascript:if(event.keyCode==13) do_postAuditList_search();"/> 
</form> 
</div>

2、修改后代码:

<form id="ff" name="ff" method="post"> 
  <input type="text" id="userName" name="userName" size="12" maxlength='30' value="${(data.userName)!''}" onKeypress= "javascript:if(event.keyCode==13) do_postAuditList_search();"/> 
 <!--解决form表单在只有一个input输入框时回车会自动提交表单--> 
 <input style='display:none' /> 
</form>
</div>

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

补允:

出现自动提交的情况,有两种可能:

一是编写了javascript代码,当用户点按Enter键时,通过js事件侦听机制触发表单的提交。

二是利用了浏览器的默认行为(至少发现ie是这样的)。浏览器在解析网页的时候,有许多默认的行为,例如如果一个页面上有表单和一个提交按钮,那么打开页面时,焦点会自动落在这个提交按钮上面。同样如果一个表单中只有一个单行文本输入域(text),那么在这个输入域中按Enter键时,浏览器会自动提交该表单。

我们对于第一种情况一般都知道而且很容易理解,但是对于第二种浏览器的默认行为,可能知道这一点的人就比较少了,下面我具体看一下浏览器(至少ie如此)在表单提交上的默认行为。
如果表单中含有一个单行文本输入域,那么无论含有多少其他类型的表单组件,那么在该输入域中点击Enter时,表单会自动提交。例如下面的代码:

<form action="" method="post">
<input type="text" name="sdfsdf"/>
<textarea></textarea>
<input type="checkbox">sdfsdf
<input type="hidden" name="aa"/>
</form>
</div>

如果表单中含有两个或多个单行文本输入域,那么无论是否含有其他类型的表单组件,按Enter键时不会自动提交,例如:

<form action="" method="post">
<input type="text" name="sdfsdf"/>
<input type="text" name="sddf"/></form>
</div>

办法很简单,我们上面举的例子中已经有了,只要再添加一个文本输入框就可以了,可能你会说,为了不自动提交就要增加一个没有用的输入框,而且中含有两个输入框最终用户会接受吗?其实可以解决,你可以将那个新添加的输入框通过style隐藏即可,例如:

<form action="" method="post">
<input type="text" name="notautosubmit" style="display:none"/>
<input type="text" name="username"/>
</form>
</div>

还有一个方法可以绑定button按钮 enter触发事件:

document.onkeypress = function(){
if(event.keyCode == 13) {
search();
return false;
}
}
</div>

其中search方法是onclick事件:<form name="searchfrom">

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • JSP中的FORM表单中只有一个input文本时,按回车键将会自动提交表单
  • 页面自动刷新,不用按回车键来提交数据!

相关文章

  • 2017-05-11Java操作文本文件的方法
  • 2017-05-11JSP+Servlet制作Java Web登录功能的全流程解析
  • 2017-05-11JSP中使用JDBC访问SQL Server 2008数据库示例
  • 2017-05-11JSP和JSTL获取服务器参数示例
  • 2017-05-11JSP之plugin的使用
  • 2017-05-11随机生成文件名的函数
  • 2017-05-11Java Web实现的基本MVC实例分析
  • 2017-05-11Java Web项目前端规范(采用命名空间使js深度解耦合)
  • 2017-05-11JSP 动态树的实现
  • 2017-05-11Linux和Windows中tomcat修改内存大小的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Spring在web.xml中的配置详细介绍
    • jsp Hibernate入门教程第1/3页
    • 使用JSP开发WebMail系统
    • 用js绘图
    • 改变JSP的文件后缀
    • jsp连接数据库大全
    • springMVC结合jackson使用demo
    • JSP由浅入深(9)—— JSP Sessions
    • JSP验证码简单生成方法
    • JSP开发入门

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有