2012-04-09 45 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