提交HTML表单两次通过提交“点击”触发(HTML form being submitted twi

2019-09-20 13:43发布

我的发布提问,类似于近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检查? 提琴手?

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

Answer 1:

谷歌搜索更后,这似乎是这个问题:所有版本>的struts2-jQuery的插件2.1.0有这个问题。 现在,我不知道这个问题是我使用的插件的方式,或者如果它实际上是一个错误。 在社会开放的错误让我觉得这是一个错误。

所以,我从Struts2的-jQuery的3.3 Struts2的,jQuery的2.1.0移动:|



文章来源: HTML form being submitted twice via submit 'click' trigger