2012-07-31 125 views
3

對於發佈類似於SO近100個問題的問題,我很抱歉。我讀了很多,嘗試了幾個解決方案,但無法解決我的問題,或者完全將答案與我的問題聯繫起來。通過提交「點擊」觸發器提交兩次HTML表單

  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 Inspector中?提琴手?

我會很感激任何指針。謝謝。

回答

0

谷歌搜索更多後,這似乎是什麼問題:所有版本> 2.1.0的struts2-jquery-plugin都有這個問題。現在,我不確定問題是我使用插件的方式,還是實際上是一個錯誤。社區中一個開放的bug讓我覺得這是一個錯誤。

所以,我從struts2-jquery-3.3移動到struts2-jquery-2.1.0:

+0

有沒有解決方案?我的意思是如何處理? – arjuncc 2012-11-15 13:28:03