[JavaScript] onclick Funktion reihenfolge

Dieses Thema im Forum "Webentwicklung" wurde erstellt von gummel, 22. Juli 2008 .

  1. 22. Juli 2008
    onclick Funktion reihenfolge

    Hallo,

    <a onclick="funktion1();funktion2();"></a>

    Kann man dort irgendwie sicherstellen, das funktion 2 erst dann ausgeführt wird, wenn funktion 1 beendet wurde?
     
  2. 22. Juli 2008
    AW: onclick Funktion reihenfolge

    ja, normalerweiße sollte das so funktionieren, es sei den du hast in funktion1 irgendwelche event-gesteuerten funktionen (zb bilder nachladen => onload) oder ajax.

    dann müsste das so aussehen:

    Code:
    function function1(after) {
     //stuff
     //alles erledigt
     after();
    }
    
    function function2() {
     //stuff
    }
    HTML:
    <a href="#" onclick="function1(function2);">blubb</a>
    //sry, wollte ned schließen! war ein versehen
     
  3. 12. August 2008
    AW: onclick Funktion reihenfolge

    Du könntest es auch irgendwie so machen (nicht getestet):
    HTML:
    <a href="#" onclick="if(function1()) function2();">moep</a>
    ..und dann halt bei function1 "true" zurückgeben.

    Damit könntest du, wenn nötig, sogar sicherstellen, dass function2 nur aufgerufen wird, wenn function nicht irgendwie abgebrochen wurde/fehlgeschlagen ist.
     
  4. 12. August 2008
    AW: onclick Funktion reihenfolge

    in javascript gibt es asynchrone ereignisse wie zb ajax oder onload-events...
    da bringt dir ein "return" in ner funktion garnix.

    Code:
    function loadImg(src) {
     var img = new Image;
     img.src = src;
     img.onload = function() { alert('bild geladen'); }
     return true;
    }
    wie du siehst gibt die funktion sofort true zurück, braucht aber a weng bis sie wirklich das gemacht hat was sie machen soll.
     
  5. 12. August 2008
    AW: onclick Funktion reihenfolge

    ich kann onclick nicht in meine php datei einbauen wo könnte mein Problem liegen?
     
  6. 13. August 2008
    AW: onclick Funktion reihenfolge

    Mangelndes Wissen von PHP und Javascript!

    Wenn du einen String mit Javascript in PHP einfügst, sorg dafür das er Escapet ist!
     
  7. 13. August 2008
    AW: onclick Funktion reihenfolge

    @Murdoc: Das ist mir klar - wo habe ich etwas anderes behauptet?
    Dafür gibt's allerdings auch keine allgemeine Lösung. Bei Ajax-Anwendungen packt man das "return" oder den Funktionsaufruf halt einfach in die readyState-if-Abfrage..
    PHP:
    irgendeinAJAXObjekt . onreadystatechange  = function(){
        if(
    irgendeinAJAXObjekt . readyState  ==  4 ) [...]
    };
    (je nachdem, wie das Script aufgebaut ist)

    Gib mir ein paar Minuten, um diese Massen an Informationen zu verarbeiten. P)
     
  8. 13. August 2008
    AW: onclick Funktion reihenfolge

    die allgemeine lösung dazu nennt sich "eventhandler"

    "readystatechange" is auch nur ein event den man überwachen kann, in prototype so:
    Code:
    Event.observe(irgendeinAJAXObjekt, 'readystatechange', function() {
     if(this.readyState == 4) {
     andereFunktion();
     }
    }.bind(irgendeinAJAXObjekt));
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.