2012-04-09 61 views
0

我有这样一段代码用于呈现弹出,使用F:AJAX:JSF 2.如何在继续导航之前强制关闭弹出窗口?

     <h:commandButton id ="botonAcceso" 
            value="#{msg['login.enter']}" 
            styleClass="botonPeque" 
            action="#{usuarioAuditoriaLogBean.entraAplicacion}"> 

         <f:ajax disabled="true" 
           render=":login:errorAcceso"/> 
        </h:commandButton> 

        <h:panelGroup rendered="#{usuarioAuditoriaLogBean.popup}" id="errorAcceso"> 
         <ui:fragment> 
          <script>window.open('#{usuarioAuditoriaLogBean.url}');</script> 
         </ui:fragment> 
        </h:panelGroup> 

我想要的人,谁是试图登录,必须先关闭弹出如果日志记录进程失败,尝试再次登录。我怎样才能做到这一点?

非常感谢。

回答

0

INMO你应该在这种情况下,因为你无法控制它不使用widnow.open ...它被打开之后,而不是

1)你可以使用一个第三方的JSF组件库一样Primefaces,他们有Modal Dialog

2)您可以使用jQuery模态对话框,here an example

+0

喜丹尼尔,感谢您的回答。我选择了你的第一个选项,并且我已经更新了这个问题。 – AdSsa 2012-04-09 11:05:50

+0

其实它是一个完全不同的问题..你应该接受答案并发布一个新的问题......(我不认为你需要使用对话框中的渲染,它不会显示,直到.show()无论如何),看看这个primefaces示例http://www.primefaces.org/showcase/ui/dialogForm.jsf,并将onclick =“dlg1.show()”更改为oncomplete =“dlg1.show()”,这样对话框将会在服务器上执行usuarioAuditoriaLogBean.entraAplicacion后显示 – Daniel 2012-04-09 11:27:56

+0

好的。我会发布一个新问题。再次感谢! – AdSsa 2012-04-09 11:30:16