我在註冊表單中有以下代碼。基本上這個按鈕調用一個動作(一個Ejb方法和一個Action監聽器,這是一個實用的方法)。 當用戶提交註冊表單時,會出現一個primefaces對話框,告訴用戶正在處理註冊。提交表單後,相同的對話框消失。這可以通過Primefaces UIBlock;然而,它需要commandButton被啓用。PrimeFaces commandButton&UIBlock
我想過使用:OnStart中=顯示一些模態對話框&的onSuccess或完整=隱藏此對話框(<p:dialog widgetVar="dialog" ...
),但這種解決方案需要阿賈克斯primefaces命令按鈕來啓用。
關於如何在PrimeFaces commandButton中將ajax設置爲false時如何實現此目的的任何線索?
感謝
<h:form id="form_register">
<p:panel id="panel_register">
<div align="center" style="padding: 5px;">
<p:commandButton id="register" ajax="true"
actionListener="#{mailBean.deliverEmail(newMember.email,newMember.name, newMember.username, newMember.password, newMember.isadmin)}"
action="#{memberController.register}" value="Register"
label="Register">
<f:setPropertyActionListener target="#{requestScope.wait}"
value="#{true}" />
</p:commandButton>
</div>
<p:blockUI block="panel_register" trigger="register">
<h:outputText value="Please wait..." />
<br />
<p:graphicImage value="#{resource['gfx/gif.gif']}" />
</p:blockUI>
編輯:感謝球員。我誤用了commandButton中的屬性更新。現在事情工作正常。
'ajax'屬性的默認值爲true。你在哪裏讀過這個動作,當'ajax'爲真時不會被調用?這是不正確的。 – partlov
「如您所知Primefaces commandButton在其ajax屬性設置爲true時不會觸發該操作」**這是明示錯誤** –
如果您的操作未被調用,則代碼中存在其他一些問題,請嘗試解決它們。從後臺bean發佈'register'方法。你爲什麼要用'bloskUI'來打開對話框,只需按下AJAX事件即可。 – partlov