【问题标题】:JSF 2. How do I force close a popup window before continuing navigation?JSF 2. 如何在继续导航之前强制关闭弹出窗口?
【发布时间】:2012-04-09 09:02:58
【问题描述】:

我有这段代码用于渲染一个弹出窗口,使用 f:ajax:

                        <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>

如果记录过程失败,我希望尝试登录的人必须首先关闭弹出窗口,然后再尝试登录。我该怎么做?

非常感谢。

【问题讨论】:

    标签: jsf-2 popup


    【解决方案1】:

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

    1) 你可以使用第三方 JSF 组件库,比如 Primefaces,他们得到了Modal Dialog

    2)你可以使用jQuery Modal Dialog,here an example

    【讨论】:

    • 您好丹尼尔,感谢您的回答。我选择了您的第一个选项,并且更新了问题。
    • 实际上这是一个完全不同的问题..您应该接受答案并发布一个新问题...(我认为您不需要在对话框上使用渲染,直到.show() 无论如何),看看这个 primefaces 示例primefaces.org/showcase/ui/dialogForm.jsf,并将 onclick="dlg1.show()" 更改为 oncomplete="dlg1.show()" 以便在 usuarioAuditoriaLogBean.entraAplicacion 之后显示对话框将在服务器上执行
    • 好的。我会发布一个新问题。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多