很抱歉在SO上发布了一个类似于100个问题的问题。我阅读了很多文章,尝试了几种解决方案,但无法解决我的问题或无法将答案完全与我的问题联系起来。
form
<input type="submit">
click
$('#imageUploadSubmit').click()
我不应该绕过“单击”此提交按钮,因为还有其他与此相关的事件,这些事件很重要,它们来自Struts jQuery。因此,我无法直接提交表格。
问题:我的表单action(uploadImage)被调用了两次。而且我无法阻止它。
action
相关的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检查器中?小提琴手?
我将不胜感激任何指针。谢谢。
经过更多搜索之后,这似乎是问题所在:所有版本高于2.1.0的struts2-jquery- plugin都存在此问题。现在,我不确定问题出在我使用插件的方式还是实际上是一个错误。社区中的一个公开错误使我感到这是一个错误。
因此,我从struts2-jquery-3.3迁移到struts2-jquery-2.1.0:|