HTML表单通过提交提交两次'点击'触发

时间:2012-07-31 16:26:40

标签: jquery html jsp form-submit

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

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

    我不应该绕过“点击”这个提交按钮,因为还有其他与此相关的事件,这些事件是必不可少的,来自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 Inspector中?的Fiddler?

    我很感激任何指针。谢谢。

1 个答案:

答案 0 :(得分:0)

在谷歌搜索后,这似乎是问题所在:所有版本&gt; 2.1.0的struts2-jquery-plugin有这个问题。现在,我不确定问题是我使用插件的方式还是实际上是一个bug。社区中的一个漏洞让我觉得这是一个错误。

所以,我从struts2-jquery-3.3转到struts2-jquery-2.1.0: