Ankündigung

Einklappen
Keine Ankündigung bisher.

JavaScript - Function aus Variabel aufrufen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JavaScript - Function aus Variabel aufrufen

    Hallo,

    ich habe ein PopUp-Fenter und dies soll im opener eine Function aufrufen. Allerdings wird die gewünschte Funktion als Variable übergeben.

    Code in Auszuügen:
    Code:
    // Fenster 1: (opener)
    
    function textshow(was)
      {
      alert("textshow" + was);
      }
    
    function showzwei(was)
      {
      alert("showzwei" + was);
      }
    
    // Fenster 2:
    
    function aufruf(wen,was)
      {
      opener.wen(was);
      }
    
    aufruf("textshow","ja");
    aufruf("showzwei","nein");
    Dieser Code, der bestimmt welche Funcktion aufgerufen wird wird von PHP generiert. Hier zeigt sich nur die Quellcode-Ausgabe.

    Mein Problem ist, das laut SelfHTML dieser Code laufen müsste. Dort steht, dass die Functionen auch nur Objekte sind und diese Schreibweise daher functionieren sollte. Nur leider gibt mit jeder Browser (4 verschiedene) den Fehler zurück, das "wen" keine Funktion ist.

    Was mach ich falsch? Wie ist es richtig? Wo liegt mein Denkfehler? Was weiß ich nicht, was ich wissen sollte?

    Danke und Gruß,
    Stefan

  • #2
    ich bin nicht gut in javaskript, aber ich würde davon ausgehen, das man eine eval (php) ähnliche funktion braucht ....

    Kommentar


    • #3
      Habe folgenden Beitrag im Internet gefunden:
      http://forum.de.selfhtml.org/archiv/2006/6/t131336/

      Ich hab auch opener.textshow('jaja'); getestet. Das geht, nur als Funktion in Variable meckert er.

      Kommentar


      • #4
        Zitat von stefanjann
        Habe folgenden Beitrag im Internet gefunden:
        http://forum.de.selfhtml.org/archiv/2006/6/t131336/

        Ich hab auch opener.textshow('jaja'); getestet. Das geht, nur als Funktion in Variable meckert er.
        Und warum machst du es dann nicht wie in dem Beitrag beschrieben?

        Die folgende Nachricht zum Thema stammt von: Jeena Paradies, 15. 06. 2006, 11:35

        Hallo,

        window.action();

        ist das gleiche wie

        window['action']();

        ist das gleiche wie

        var foo = 'action';
        window[foo]();

        Ich glaube das sollte dir schon helfen.

        Grüße
        Jeena Paradies
        für opener gilt das gleiche wie für window.

        Kommentar


        • #5
          Aber wenn du dir meine Funktion mal anschaust, dann mach ich das doch:
          Code:
          function aufruf(wen,was)
            {
            opener.wen(was);
            }
          Ich habs auch schon mit
          Code:
          opener[wen](was);
          versucht, mit den gleichen Fehlermeldungen.

          Kommentar


          • #6
            Zitat von stefanjann
            Ich habs auch schon mit
            Code:
            opener[wen](was);
            versucht, mit den gleichen Fehlermeldungen.
            Dann hast du wo anders ein Fehler, dieser Aufruf ist korrekt.

            Kommentar


            • #7
              Ich hab den Fehler gefunden.
              Der IE hat den Bezug zum opener verloren, wenn ich einen Refresh in PopUp gemacht habe. (Was auch nicht sein dürfte) Und der Mozilla mag nur die Schreibweise opener[wen](was);

              Danke,
              Stefan

              Kommentar

              Lädt...
              X