ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
3257
3257
EMPFEHLEN
-
Hallo,
ich hab folgendes Problem.
ich möchte nach dem Klick auf ein Button, dass sich ein Popup öffnet, in dem eine bestimmte Seite angezeigt wird. Das Problem dabei ist, dass der Inhalt dieses Popups erst erzeugt werden muss (und zwar durch die BeanAction im selben Button). Also folgendermaßen:
Also in myBean.action werden die Werte gesetzt für mySite.jsf. Das Problem dabei ist, dass anscheinend zuerst das window.open ausgeführt wird und dann meine Bean-Action, weil nämlich mein Popup noch mit falschen Werten angezeigt wird. Gibt es eine Möglichkeit zuerst Action aufzurufen und dann das Popup anzuzeigen mit eben gesetzten Werten?Code :1 2
<h:commandButton action="#{myBean.action}" value="..." onclick="window.open('mySite.jsf','popup');return true> </h:commandButton>
-
Hey,
vielleicht könntest du es mit einer anderen JavaScript Event Methode versuchen z.B. onBlur. Wenn das auch nicht funktioniert dann würde ich 2 commandButtons verwenden. Der Erste Button führt die Action Methode aus, der 2. öffnet das Popup Fenster.
Code :1 2 3 4
<h:commandButton id="cmd_action"action="#{myBean.action}" sytle="display:none;"/> <h:commandButton value="..." onclick="click_cmd_action(); window.open('mySite.jsf','popup');return true />
Sonst würde mir auch noch einfallen das du die Action Methode erst in deinem Popup Fenster ausführst. Dazu könntest du das onLoad Tag des HTML Body's verwenden um click_cmd_action(); auszuführen. Anschließend musst natürlich das Popup Fenster neu rendern lassen.
Was machst du den in deiner Action Methode? Dauert die Ausführung vielleicht etwas länger?
-
Hi,
Kann mir jemand dazu eine konkrete Lösung mit Code geben.
Ich habe dies mit "window.onload = zeige;" versucht aber wie kann ich verhindern das die Funktion zeige() nur dann ausgeführt wird wenn ich ein commandButton betätige.
Ein Ausschnitt aus meinem Code:
// Anzeige des Modal Panels
function zeige(){
ShowContent('modal_panel'); ShowBgDiv('bg_transpa'); return true;
}
//Beim laden der Seite wird der Modal Panle angezeigt (das passiert immer ich möchte es nur bei onclick)
window.onload = zeige;
<a:commandButton id="button1" image="img/button_suche.png" action="#{ackundensuche.kundensuche}"
style="padding-right:15px; vertical-align:middle;"/>
Action sucht mir die Kunden. Das Modal Panel soll sie anzeigen.
Kann mir jemand bitte helfen, ich bin schon am verzweifeln
DankeGeändert von lices (29.04.09 um 16:39 Uhr)
-
04.05.09 19:27 #4
- Registriert seit
- Apr 2006
- Ort
- Lockweiler (Saarland)
- Beiträge
- 11
Hi,
hast du dir mal richFaces angeschaut?
Dort gibt es beim z.B. a4j:commandButton der event oncomplete.
Dieses Event wird nach dem bearbeiten der actionMethod und nach dem partiellen reRendern ausgeführt.
Du kannst auch mit richFaces andere Komponenten mit dem Kind a4j:support um AJAX Features erweitern.
Demo-App:
http://livedemo.exadel.com/richfaces...mandButton.jsfGeändert von mikel2003 (04.02.10 um 14:33 Uhr)
-
04.02.10 14:14 #5rattini Tutorials.de Gastzugang
Hallo,
nur zu Doku weil ich lange gesucht habe:
<a4j:commandLink id="verifyDataWorking"
value="..." styleClass="box"
action="..."
rendered="true"
reRender="..."
oncomplete="showValidationReport();"
/>
Bei Nutzung von oncomplete wir erst die Action und danach das Script ausgeführt.
Ähnliche Themen
-
[Javascript] Problem: kann kein Javascript - brauche Funktion
Von matze93 im Forum Stellenangebote (unentgeltlich)Antworten: 5Letzter Beitrag: 14.04.09, 08:42 -
[dojo/javascript] Nachgeladener JavaScript Code wird nicht geparst!
Von CyrusOne im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 09.10.08, 23:18 -
Javascript scrollen (geht nicht immer - Ausweg ohne javascript)
Von mille im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 01.09.06, 01:57 -
[ JavaScript ] - Gibt es eine #define anweisung unter javascript
Von janosch im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 27.01.05, 00:12 -
Javascript-Fehler: javascript:'msgWindow' ist Null oder kein Objekt
Von jshoeren im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 01.06.04, 10:23





Zitieren
Login





