2012-09-19 187 views
2

我使用rich:popupPanel組件,它顯示登錄的輸入字段。當登錄成功時,我需要關閉彈出窗口,但是隻有這樣。當用戶輸入錯誤的密碼時,我會顯示一條消息,並且彈出式面板應該打開。如果我重新加載頁面,所有歡迎消息和其他內容都將消失。成功時關閉彈出窗口

我有它關閉我彈出一個javascript:onclick="RichFaces.$('popup_login').hide()"

如何運行腳本,只有當操作方法返回「1」(例如)?

<h:form id="loginForm"> 
    <h:inputText id="email" value="#{loginBean.email}" /> 
    <a4j:commandLink id="submit" action="#{loginBean.doLogin}" onclick="RichFaces.$('popup_login').hide()"> 
     <h:outputText value="login" /> 
    </a4j:commandLink> 
</h:form> 

回答

3

如果是validation has not failed,請檢查oncomplete

<a4j:commandLink ... oncomplete="if (#{!facesContext.validationFailed}) RichFaces.$('popup_login').hide()"> 
+0

這正是我所期待的。謝謝@BalusC –

+0

不客氣。 – BalusC

-1

我在primeface上工作。我直接從managedbean關閉所有彈出窗口。

RequestContext context = RequestContext.getCurrentInstance(); 
    context.execute("idofpopup.hide()"); 

我不知道這是否與Rich合作。

我希望這可以幫助你。

+0

這些組件庫不可互換。 – BalusC