Gertrudis: Funktionen zusammen nicht lauffähig

Hallo, ich bins wieder ...

Ich habe hier zwei Funktionen definiert.

function popup(url) {
 fenster=window.open(url, "Popupfenster", "width=400,height=300,resizable=yes");
 fenster.focus();
}

function endern() {
  fenster.document.images["akt"].src = 'babsee.jpg';
  fenster.document.images["akt"].width = '100';
  fenster.document.images["akt"].height = '100';
}

Diese möchte ich beim onClick auf einen Link auslösen.
Wenn ich jetzt auf meinen Link (<a href="neu.html" onclick="return popup(this.href);">NEU</a>) klicke, dann öffnet sich das Popup wie gewünscht. Wenn ich nun auf einen zweiten Link klicke (<a href="#" onclick="endern();">endern</a>), dann ändert sich auch das Bild wie gewünscht.
Allerdings hätte ich es gerne so, dass diese beiden Funktionen beim Klick auf einen einzigen Link ausgeführt werden. Praktisch sowas hier: <a href="neu.html" onclick="return popup(this.href);endern();">NEU</a>.

Allerdings funktioniert das nicht, das Popup öffnet sich, aber das Bild verändert sich nicht .. Habt ihr eine Idee, wie ich beide bzw mehrere Funktionen mit einem einzigen Linkklick ausführen kann?

  1. Hi,

    Allerdings hätte ich es gerne so, dass diese beiden Funktionen beim Klick auf einen einzigen Link ausgeführt werden. Praktisch sowas hier: <a href="neu.html" onclick="return popup(this.href);endern();">NEU</a>.

    Ja, durch das return beendest du die Ausführung des Eventhandlers, was in deinem Fall noch dazu heikel ist (meiner Meinung nach), weil deine Popup-Funktion keinen Rückgabewert (return false) beinhaltet. Um beide Anweisungen auszuführen müsstest du es umschreiben, z.B. zu
    onclick="popup(this.href); endern(); return false;"

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Hallo Rouven,

      habe es ausprobiert, es funktioniert leider nicht.
      Jetzt läd sich auch das "Hauptfenster" mit der im href angegeben datei.
      Das Bild bleibt jedoch unverändert :/

      Alles in eine Funktion zu packen wie hier, funktioniert auch nicht:

      function popup(url) {
       fenster=window.open(url, "Popupfenster", "width=400,height=300,resizable=yes");
       fenster.focus();
         fenster.document.images["akt"].src = 'babsee.jpg';
        fenster.document.images["akt"].width = '100';
        fenster.document.images["akt"].height = '100';
       return false;
      }

      1. Hi,

        also das sich das Hauptfenster ändert liegt daran, dass der Event-Handler nicht korrekt mit return false beendet wird, wobei ich jetzt gerade nicht weiß wie dein onclick aussieht, jedenfalls liegt der Fehler irgendwo in dem Bereich.
        Bzgl. der Größenänderung: Nun ja, ich weiß nicht genau wie der Browser darauf reagiert, wenn du ihm sagst "mach Fenster auf und ändere darin die Bildgröße". Die Frage ist, ob in der kurzen Zeit zwischen "auf" und "ändere" das Bild bereits bekannt ist oder ob du gerade unwissentlich sagst "ändere die Größe von dem Bild, von dem du im Moment nichts weißt".

        MfG
        Rouven

        --
        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
      2. Hallo

        Das folgende hab ich Dir schon hier und hier beschrieben:

        1. Erstelle ein Vorschaubild pK.jpg

        2. Erstelle ein großes Bild pG.jpg

        3. Erstelle eine Datei thumbs.html:

        <html><head><title>Thumbs</title></head><body>  
        <img src="pK.jpg" width="40" height="40" border="0" alt="Vorschaubild" onclick="popup('pG');">
        
        <script type="text/javascript">  
        function popup(dateiname)  
        {  
        window.open("popup.html", dateiname, "width=600,height=400");  
        }
        

        </script></body></html>

        4. Erstelle eine Datei popup.html:

        <html><head><title>Thumbs</title></head>  
        <body onload="ladeBild()">  
        <img src="" alt="Da guckste">
        
        <script type="text/javascript">  
        function ladeBild()  
        {  
        document.images[0].src=this.name+".jpg";  
        }
        

        </script></body></html>

        5. Packe alle in ein Verzeichnis, starte thumbs.html, klicke das Vorschaubild.

        tschüs

        --
        cogito ergo akro