2013-09-01 51 views
1

的commandButton我有一個小時JSF表單:的commandButton的提交按鈕:JSF + jQuery的:禁用和啓用H:通過JQuery的

<h:form> 
    <h:commandButton id="import_opener" binding="#{submit}" disabled="true" action="#{bean.save}" value="submit"/> 
</h:form> 

,我嘗試爲 「已禁用」 屬性設置爲true(啓用按鈕)通過jQuery:

$("[id='#{submit.clientId}']").prop("disabled", false); 

和一切工作正常。但是當我提交commandButton時,action#{bean.save}不會觸發,只是重新加載表單頁面。如果我沒有通過jQuery對h:commandButton進行操作,那麼這個操作就會觸發。

請幫助我在jQuery更改h:commandButton的disable屬性之後運行#{bean.save}。

回答

1

這是因爲JSF具有一些內置的安全功能。檢查傳入的請求是否「可能」。傳入的請求告訴JSF已經按下了一個實際被禁用的按鈕。因此,該請求將被視爲無效並被拒絕。這很好,因爲瀏覽器可以通過多種方式進行操作。

解決方案是不設置disabled="true",但讓它在JSF端啓用並通過jQuery禁用它,而不是通過其他方式。

+0

謝謝!有用。 –