2012-09-19 144 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