Ergebnis 1 bis 6 von 6
  1. #1
    Kanalpiroge ist offline Grünschnabel
    registriert
    10-02-2010
    Ort
    Bochum
    Beiträge
    4

    Mootools, Ajax: Events in SqueezeBox

    Hallo, ich bin der neue!

    Ich möchte eine SqueezeBox (Modales Fenster des Joomla! CMS, Quelltext hier) über JavaScript steuern um ein Formular anzuzeigen und dieses dann auch wieder zu submitten.

    Ich sende eine Ajax Anfrage aus einem Formular, die mir im Erfolgsfall den XHTML Code eines weitern Formulars zurückgibt. Bei diesem Formular möchte beim Abschicken wieder mit JS eingreifen, die Daten wieder via Ajax übertragen und die SqueezeBox schließen.

    Mein Problem ist, dass augenscheinlich addEvent('submit', meineFunktion) bei dem Formular in der SqueezeBox nicht funktioniert. Die JS Funktion wird nicht aufgerufen und die normale Formular Action für deaktiviertes JS wird ausgeführt. Zumindest wird in meinem Firebug der entsprechende Breakpoint innerhalb der Funktion nie erreicht.

    Hier der Code, die Stelle wo ich den Fehler vermute, habe ich mit 'nem Haufen Ausrufezeichen gekennzeichnet.

    PHP-Code:
    window.addEvent('domready', function() {
        
    // Submit des ersten Formulars auf der Seite
        // Das funktioniert noch...
        
    $('feedbackLoginForm').addEvent('submit', function(e){

            
    //HTTP Submit stoppen
            
    new Event(e).stop();
            
            
    // Ajax Request, gibt im Erfolgsfall XHTML Code zurück
            
    this.send({onComplete: function(responserespon***ML) {
                
                
    // Element zum Aufnehmen des zurückgegebenen HTML Codes
                
    var output = new Element('div');
                
    output.setHTML(response);

                
    // Das Formular in dem neuen Element ermitteln
                
    var form output.getElement('form');

                
    // Wenn das Formular existiert, Eventlistener einfügen
                
    if (form && form != null) {

                    
    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                    // Diese addEvent Function wird zwar aufgerufen, 
                    // Aber augenscheinlich wird der Eventlistenter nicht 
                    // oder nicht richtig hinzugefügt, da die Funktion 
                    // nicht beim Submit aufgerufen wird. :(
                    // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                    
    form.addEvent('submit', function(e) {
                        new 
    Event(e).stop();

                            
    // tu irgendwas

                        
    });

                    });
                }

                
    //Öffnen der SqeezeBox mit dem Inhalt der Ajax Response
                
    SqueezeBox.fromElement(output, { size: {x600y700} });

            }});

        });
    }); 
    Hat jemand 'ne Idee, was ich da falsch mache?

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: Mootools, Ajax: Events in SqueezeBox

    Ich hab' jetzt von diesem Framework keine Ahnung, ABER ich vermute, dass
    Code:
    var form = output.getElement('form');
    eine HTMLCollection erzeugt (diese wird behandelt wie ein Array). Lass dir doch einfach mal form in einem alert ausgeben.

    PS: Sagt die Fehlerkonsole (Wo finde ich die Fehlerkonsole?) was?

  3. #3
    Kanalpiroge ist offline Grünschnabel
    registriert
    10-02-2010
    Ort
    Bochum
    Beiträge
    4

    AW: Mootools, Ajax: Events in SqueezeBox

    Hi kkapsner!

    Danke für die Antwort.

    Also meine Fehlerkonsole (Firebug im Firefox 3.irgendwas) sagt nix und im Debugger kann ich mich auch ohne Fehler durch das komplette Skript klicken ohne dass der irgendwo meckert.

    Aber sobald ich das Formular dann submitte, ist halt nix mehr mit Javascript.

    Könnte es damit zu tun haben, dass das Formular zu dem Zeitpung, wo ich den EventListener einfüge, noch gar nicht ins DOM der Seite eingebunden ist?

  4. #4
    Kanalpiroge ist offline Grünschnabel
    registriert
    10-02-2010
    Ort
    Bochum
    Beiträge
    4

    AW: Mootools, Ajax: Events in SqueezeBox

    Ich habe noch ein bischen mit dem Debugger rumgepröckelt.

    Es sieht so aus, als würd der Event auch wirklich bei dem Formular landen. Zumindest enthält das Array $events einen Eintrag für "submit". Nur wird die Funktion dann leider nicht ausgeführt.

    Ich bin ja kein Javascript Profi... aber macht das irgendwie Sinn?

  5. #5
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: Mootools, Ajax: Events in SqueezeBox

    Fehlerkonsole, nicht Firebug, der zeigt manchmal die Fehler nicht an.

  6. #6
    Kanalpiroge ist offline Grünschnabel
    registriert
    10-02-2010
    Ort
    Bochum
    Beiträge
    4

    AW: Mootools, Ajax: Events in SqueezeBox

    Oh, wirklich? Hab' mich immer auf den Firebug verlassen...

    Aber die Fehlerkonsole zeigt auch nix an.

    Ich habe allerdings eine Lösung gefunden, die Funktioniert.
    Wenn ich in dem HTML Code, der über den Ajax Request zurückkommt in 'nem script Tag den Event Handler setze, geht's:

    PHP-Code:
    <script type="text/javascript">
        ($(
    'feedbacksheet')).addEvent('submit'feedbackFormOnSubmit);
    </script> 
    Warum das auf dem anderen Wege nicht funktioniert ist mir leider nach wie vor ein Rätsel.

Ähnliche Themen

  1. 2x Ajax per OnLoad - Problem
    Von drunk im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 31-07-2009, 23:23
  2. mootools - Sending a Form with Ajax
    Von Potamonautes im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 20-05-2009, 13:27
  3. AJAX Problem (contentflow und mootools)
    Von frankys9 im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 19-03-2009, 22:00
  4. Ajax und PHP: Formular absenden
    Von dondon im Forum Allgemeines
    Antworten: 10
    Letzter Beitrag: 05-11-2008, 15:14
  5. gewaltiges ajax problem
    Von ambience im Forum JavaScript
    Antworten: 10
    Letzter Beitrag: 23-08-2007, 01:08

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •