• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    JSP中的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();
    return false;
    }
    }

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

    您可能感兴趣的文章:
    • js实现点击图片自动提交action的简单方法
    • jsp中如何实现按下回车键自动提交表单
    • JS实现问卷星自动填问卷脚本并在两秒自动提交功能
    上一篇:jsp+servlet+jdbc实现对数据库的增删改查
    下一篇:JSP页面跳转方法小结
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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