打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
当form表单中只有一个input时按回车键将会自动将表单提交

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

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>

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>

即:添加一个<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如果表单中含有两个或多个单行文本输入域,那么无论是否含有其他类型的表单组件,按Enter键时不会自动提交,例如:<form action="" method="post"<input type="text"name="sdfsdf"/<input type="text"name="sddf"/</form办法很简单,我们上面举的例子中已经有了,只要再添加一个文本输入框就可以了,可能你会说,为了不自动提交就要增加一个没有用的输入框,而且中含有两个输入框最终用户会接受吗?其实可以解决,你可以将那个新添加的输入框通过style隐藏即可,例如:<form action="" method="post"<input type="text" name="notautosubmit"style="display:none"/<input type="text"name="username"/</form还有一个方法可以绑定button按钮 enter触发事件:document.onkeypress = function(){if(event.keyCode == 13) {search();returnfalse;}}其中search方法是onclick事件:<form name="searchfrom"


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
键盘回车事件导致页面刷新的问题
回车键敲在文本框里来提交表单的实现
GET和POST的原理和区别
form表单字段元素对象(三)— —按回车键,焦点移到下一个文本输入框
php表单操作相关汇总及代码示例
AJAX和Form表单提交
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服