2012-03-09 86 views
1

我想調用submitformFinal(this.form);這是一個客戶端驗證。但問題是,html:image屬性直接調用struts,所以服務器端驗證發生在調用submitformFinal(this.form)之前。 如果submitformFinal失敗,服務器端驗證不應該發生,但在這種情況下html:image直接調用struts動作類....任何建議?<html:image直接調用struts action class

現在我的代碼是: - <html:image
src='<%=contextPath + "/img/save_orange.gif"%>' onclick="javascript:submitformFinal(this.form); "/>

+0

顯示changeAction,checkMultiSelects和submitFormFinal JavaScript函數。看起來可能有什麼東西在你認爲是之前提交表單。另外,你不是從JavaScript調用一個struts動作。 – DwB 2012-03-09 10:06:23

+0

@DwB ...編輯了我的問題....希望它能讓它更清晰 – rcky 2012-03-09 10:21:16

+0

img標記不會調用任何東西。它也沒有提交你的表單。顯示submitformFinal()源。問題似乎可能在其中。 – DwB 2012-03-09 10:32:22

回答

1

怎麼樣從submitformFinal()返回值:

<html:image src='<%=contextPath + "/img/save_orange.gif"%>' 
      onclick="return submitformFinal(this.form);"/> 

現在,如果submitformFinal()回報false它不會提交,如果返回true那麼它將被提交。

更新:

看到你的下一個問題後,這裏是我的想法。

1)您不應該使用<html:image>來提交表單。 <html:submit>是正確的提交按鈕標記。我會建議將<html:image>更改爲<html:submit>。 U可以通過styleId,styleClass屬性將圖像添加到按鈕。無需調用點擊按鈕。它只會在您點擊時提交表單。

2)現在在​​3210標籤這樣添加onSubmit

<html:form action="someAction.do" onSubmit="return submitformFinal();"> 

這會像所期望我猜。

+0

@tusar............thanks ......it solved my problem – rcky 2012-03-09 10:51:14

+0

I am glad it worked :) I also learnt about 。 – tusar 2012-03-09 10:52:50

+0

@tusar .....但我有一個問題,以及.......當submitformFinal()返回false後,如果我點擊保存按鈕,然後登錄頁面打開....任何想法? – rcky 2012-03-09 14:52:01