【问题标题】:HTML form being submitted twice via submit 'click' trigger通过提交“点击”触发器提交了两次 HTML 表单
【发布时间】:2012-07-31 16:26:40
【问题描述】:

我很抱歉发布了一个类似于 SO 上近 100 个问题的问题。我阅读了很多,尝试了几个解决方案,但无法解决我的问题或完全将答案与我的问题联系起来。

  1. 我有一个带有操作的form,请输入帖子。
  2. 我有一个 <input type="submit"> 在那个表单中。
  3. 我需要通过在此输入上触发“click”来提交此表单。我通过$('#imageUploadSubmit').click() 做的;

我不应该绕过“点击”这个提交按钮,因为还有其他与此相关的事件,这些事件是必不可少的并且来自 Struts jQuery。因此我无法直接提交表单。

问题:我的表单 action (uploadImage) 被调用了两次。而且我无法阻止它。

相关的JSP:

<s:form id="image-upload-form" action="uploadImage" method="post" enctype="multipart/form-data">
    <s:file name="userImage" label="User Image" id="userImageFile" />
    <input type="hidden" id="idForUpload" name="idForUpload" value="<s:property value="imageUploadReqAttrib.imageName" />" />
    <sj:submit id="imageUploadSubmit" value="Select Image" targets="previewImageDiv" 
        indicator="indicator" onBeforeTopics="before" onCompleteTopics="complete" style="display:none;"/>
</s:form>

以及生成的Html(带有相关元素)

<form id="image-upload-form" name="image-upload-form" action="/foo/uploadImage.action" method="post" enctype="multipart/form-data">
      <input type="file" name="userImage" value="" id="userImageFile"></td>
      <input type="hidden" id="idForUpload" name="idForUpload" value="1371711900.jpg">
      <input type="submit" id="imageUploadSubmit" value="Select Image" style="display:none;">
</form>

有没有一种方法可以让我找出在该点击时和之后触发的所有事件?在 Chrome 检查器中?提琴手?

我将不胜感激任何指针。谢谢。

【问题讨论】:

    标签: jquery html jsp form-submit


    【解决方案1】:

    在谷歌搜索更多之后,这似乎是问题所在:struts2-jquery-plugin 的所有版本> 2.1.0 都有这个问题。现在,我不确定问题是我使用插件的方式还是它实际上是一个错误。社区中一个公开的 bug 让我觉得这是一个 bug。

    所以,我从 struts2-jquery-3.3 迁移到 struts2-jquery-2.1.0 :|

    【讨论】:

    • 有什么解决办法吗?我的意思是如何处理?
    猜你喜欢
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 2012-08-31
    • 2013-12-28
    • 1970-01-01
    • 2014-12-03
    相关资源
    最近更新 更多