tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
3257
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    naeko naeko ist offline Mitglied Silber
    Registriert seit
    Apr 2006
    Beiträge
    54
    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:
    Code :
    1
    2
    
    <h:commandButton action="#{myBean.action}" value="..." onclick="window.open('mySite.jsf','popup');return true>
    </h:commandButton>
    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?
     

  2. #2
    Xeal_RS Xeal_RS ist offline Rookie
    Registriert seit
    Jul 2007
    Beiträge
    5
    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?
     

  3. #3
    lices lices ist offline Rookie
    Registriert seit
    Oct 2004
    Beiträge
    9
    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

    Danke
    Geändert von lices (29.04.09 um 16:39 Uhr)
     

  4. #4
    mikel2003 mikel2003 ist offline Mitglied
    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.jsf
    Geändert von mikel2003 (04.02.10 um 14:33 Uhr)
     

  5. #5
    rattini 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

  1. [Javascript] Problem: kann kein Javascript - brauche Funktion
    Von matze93 im Forum Stellenangebote (unentgeltlich)
    Antworten: 5
    Letzter Beitrag: 14.04.09, 08:42
  2. Antworten: 3
    Letzter Beitrag: 09.10.08, 23:18
  3. Antworten: 0
    Letzter Beitrag: 01.09.06, 01:57
  4. Antworten: 2
    Letzter Beitrag: 27.01.05, 00:12
  5. Antworten: 4
    Letzter Beitrag: 01.06.04, 10:23