Hallo,
schon seit 2 Tagen versuche ich in meinem Projekt ein PopUp-Window zu implementieren und immer noch erfolglos.
Problembeschreibung: Ich habe ein CommandButton
Ich benutze "onclick" nicht, weil für mein PopUp die Daten zuerst aus Session geholt werden müssen! Ok, mache ich das!
Ich habe folgendes gemacht:
Was mir an dieser Lösung nicht gefällt!
Dass, nach dem ersten Klicken
Javascript im Header steht und wird immer beim neuen Laden der Seite ausgeführt und damit offnet sich popup-Window wieder.
Wie kann man mein Problem anderes lösen oder wie würden Sie es lösen. Es muss irgendwie einfach sein und mir fehlen leider die Kenntnisse, dieses Problem jetzt sauber zu lösen.
Danke!
schon seit 2 Tagen versuche ich in meinem Projekt ein PopUp-Window zu implementieren und immer noch erfolglos.
Problembeschreibung: Ich habe ein CommandButton
Code:
<h:commandButton id="id" actionListener="#{bean.methode}" />
Code:
public void methode(ActionEvent event) { //holle mir die Daten aus Session .... UND JETZT SOLL POPUP-WINDOW GEOFFNET WERDEN!!!! }
Code:
public void methode(ActionEvent event) { //holle mir die Daten aus Session .... final String link = "/ziel/popup/popup.xhtml"; FacesContext facesContext = FacesContext.getCurrentInstance(); ViewHandler viewHandler = facesContext.getApplication().getViewHandler(); String actionUrl = viewHandler.getActionURL(facesContext,link); String javaScriptText = "window.open('"+actionUrl+"', 'popupWindow', 'dependent=yes, menubar=yes, toolbar=yes, height=200, width=200');"; AddResource addResource = AddResourceFactory.getInstance(facesContext); addResource.addInlineScriptAtPosition(facesContext,AddResource.HEADER_BEGIN, javaScriptText); }
Dass, nach dem ersten Klicken
HTML Code:
<script type="text/javascript"><!-- window.open('/ziel/popup/popup.xhtml', 'popupWindow', 'dependent=yes, menubar=yes, toolbar=yes, height=200, width=200'); //--></script>
Wie kann man mein Problem anderes lösen oder wie würden Sie es lösen. Es muss irgendwie einfach sein und mir fehlen leider die Kenntnisse, dieses Problem jetzt sauber zu lösen.
Danke!
Comment