`
tristan_wang
  • 浏览: 165102 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

submit标签引起的问题

    博客分类:
  • HTML
阅读更多
注:本文为原创
昨天遇到了一个问题:
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at weblogic.servlet.internal.PostInputStream.read(PostInputStream.java:170)
        at weblogic.servlet.internal.ServletInputStreamImpl$1.read(ServletInputStreamImpl.java:115)
        at weblogic.servlet.internal.ServletInputStreamImpl.read(ServletInputStreamImpl.java:180)
        at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(ServletRequestImpl.java:1257
)
        at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:112
4)
        at weblogic.servlet.internal.ServletRequestImpl.getParameter(ServletRequestImpl.java:1335)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:383)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
ontext.java:6350)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:36
35)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
--------------- nested within: ------------------
weblogic.utils.NestedRuntimeException: Cannot parse POST parameters of request: '/reserve/reserve/dr
awIBNRDetail/DetailBase/mod.jsp' - with nested exception:
[java.net.SocketException: Connection reset]
        at weblogic.servlet.internal.ServletRequestImpl.mergePostParams(ServletRequestImpl.java:1288
)
        at weblogic.servlet.internal.ServletRequestImpl.parseQueryParams(ServletRequestImpl.java:112
4)
        at weblogic.servlet.internal.ServletRequestImpl.getParameter(ServletRequestImpl.java:1335)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:383)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletC
ontext.java:6350)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:36
35)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)


问题很奇怪,上网搜了搜,是由于重复提交的原因,
<TABLE align=center class=button>
  <TR>
	  <TD align="center">
	  <input class="buttoncommon" [color=red]type="submit" [/color]name="buttonSubmit2" onClick="goMode();" value="修改全部">
	  </TD>
  </TR>
</Table>
<%
	}
%>

<script>
    function goMode(){
        fm.action = "mod.jsp";
        fm.submit();
     // return true;
    }
</script>


仔细观察才发现时用于type=submit,这个是自动提交的,但是呢 onclick函数又提交了一次,这就导致了重复提交,出现了上面的异常。
把type=submit更改为type=button就可以了。
我的上一篇文章有对这个的详细讲解,有兴趣可以看看
分享到:
评论

相关推荐

    让submit只提交一次

    这不仅可能导致数据库数据的冗余,还可能引起业务逻辑错误,如重复扣款等严重问题。因此,“让submit只提交一次”成为了Web开发者必须解决的一个关键问题。 ### 实现原理 让submit只提交一次的核心思想是在用户...

    表单项的name命名为submit、reset引起的问题

    但是,在使用这些按钮时,需要特别注意,它们的name属性不能命名为"submit"或"reset",否则会引起一些意外的问题。 当表单项的name属性命名为submit或reset时,就会影响到JavaScript中对表单reset和submit方法的...

    提交按钮的name=’submit’引起的js失效问题及原因

    在上述问题中,出现了一个由于提交按钮(`&lt;input&gt;` 标签)的 `name` 属性设置为 `submit` 导致的 JavaScript 失效问题。这可能会导致与表单提交相关的 JavaScript 事件监听器无法正常工作。 首先,让我们了解一下...

    HTML标签解释大全

    - **说明**:虽然没有直接对应的 `&lt;dir&gt;` 标签,但这里的“dir”可能是指 `&lt;directory&gt;` 标签,用于引起目录列表。 ##### 标签:div - **说明**:`&lt;div&gt;` 标签用于指定渲染HTML的容器。它可以用来分组其他HTML元素...

    form.submit()不能提交表单的原因分析

    `form.submit()` 是JavaScript中用于触发表单提交的一个方法,但有时这个方法可能无法正常工作,就像在标题和描述中提到的问题。本文将深入探讨这个问题,分析其可能的原因,并提供解决方案。 首先,我们来看一个...

    HTML标签解释大全.doc

    - `input type="submit"`: 创建提交按钮,用于提交表单数据。 通过以上介绍,我们对HTML中的关键标签有了更深入的理解,这些标签是构建和设计网页的基础。理解和熟练掌握它们对于网页开发者来说至关重要。

    layui点击按钮页面会自动刷新的解决方案

    具体来说,在IE浏览器下,按钮标签并不会导致表单提交,但在W3C标准的浏览器中,按钮标签却会导致表单提交,进而引起页面刷新。 ### 解决方案 针对上述问题,文章提出了两种解决方案,每一种都涉及到了对HTML按钮...

    jquery-prevent-double-submit:防止双重提交 jQuery 插件

    2. **引入插件**:然后,你需要将`jquery-prevent-double-submit.js`文件添加到你的HTML页面中,通常是放在`&lt;head&gt;`标签内或`&lt;body&gt;`标签的底部。 ```html &lt;script src="js/jquery-prevent-double-submit.js"&gt; ``` 3...

    Submit to growthhackers.com-crx插件

    此外,由于GrowthHackers强调高质量的内容交流,因此在分享文章时,建议用户附带自己的见解或评论,以便引起社区成员的讨论和互动。 插件的开发可能采用了JavaScript、HTML和CSS等技术,同时可能利用了Chrome API来...

    图片按钮提交与表单重复提交问题探讨

    默认情况下,这种方式不会引起重复提交的问题。 然而,问题的出现往往是因为开发者可能会在图片按钮上添加额外的JavaScript代码,例如`onclick`事件处理器,以执行一些额外的操作。例如,在上述文档中提到的代码`...

    JSP和HTML跳转.zip_html挑转jsp_jsp和HEML跳转_jsp和HTML跳转

    2. JSP的`&lt;jsp:forward&gt;`标签:这是一种服务器端跳转,不会引起浏览器的地址栏变化。例如: ```jsp ``` 内容会从当前JSP页面转向`target.jsp`。 3. HTML与JSP的交互:HTML页面可以通过表单提交或者JavaScript调用...

    Struts2的ajax支持

    2. **a和submit**:这两个标签分别用于生成超链接和提交按钮,它们的主要作用是触发Ajax请求,向服务器发送异步请求而不引起页面的整体刷新,从而提高用户的操作体验。 3. **autocompleter**:自动完成功能的标签,...

    Firefox按钮和锚标签上的虚线轮廓删除方法

    在Web开发过程中,我们通常会遇到用户在使用鼠标点击链接或按钮等元素时,浏览器会默认显示一个...在实际应用中,应该仔细检查和验证代码,确保所有的CSS选择器和属性都是正确的,以避免引起其他意外的样式或行为问题。

    【原创】Struts2防止表单重复提交.doc

    Struts2框架提供了一种简单有效的方式来解决这一问题,即通过`&lt;s:token/&gt;`标签和相关的拦截器机制来实现。 #### 二、Struts2框架简介 Struts2是一个基于Java的开源Web应用框架,它继承了Struts1的优点,并且进行了...

    struts2-portlet-2.0.11

    2. **struts-html.tld**: 这个文件定义了Struts2中的HTML标签库,包括一系列用于创建HTML表单元素、处理用户输入的标签,如`&lt;html:text&gt;`, `&lt;html:submit&gt;`等。这些标签简化了HTML元素与后端业务逻辑的交互,使得...

    前端面试宝典V4.0.pdf

    浮动是指元素浮动在文档流中,浮动元素可能会引起问题,例如 margin“塌陷”。浮动元素可以使用 clear 属性来清除浮动。 12. 弹性盒子 flex 布局 弹性盒子 flex 布局是一种布局方式,可以使元素在容器中自动布局。...

    struts2.0&中文帮助手册.rar

    标签库是Struts2.0的一大亮点,它提供了丰富的JSP标签,如s:form、s:textfield、s:submit等,使视图层的开发更加简洁和直观。这些标签与Action对象和模型数据紧密结合,降低了视图和控制层之间的耦合。 在安全方面...

    利用JS屏蔽页面中的Enter按键提交表单的方法

    同时,对于可能引起问题的submit类型按钮,可以通过添加`useSubmitBehavior="false"`属性来规避问题,确保在所有主流浏览器中都能得到一致的行为。在实际开发中,这样的细节处理对于提高用户体验和防止意外数据提交...

    js中 javascript-void(0) 用法详解.docx

    通过将 `href` 属性设置为 `javascript:void(0)`,可以在点击链接时触发JavaScript事件,而不引起页面的跳转或刷新。 ##### 示例1:简单示例 ```html (0);" onclick="alert('Hello, World!');"&gt;点击我 ``` 在这个...

Global site tag (gtag.js) - Google Analytics