satanus: funktion will ned

Hallo,

Könnt ihr mir helfen?
Java Script ist echt ned mein Gebiet.

Ich möchte, dass sich beim Click auf einen Link, durch einen Event-Handler (onclick) eine Funktion (open) aufgerufen wird, die ein neues Fenster öffnet.
Nur funktioniert des einfach ned...

function open(goto) {
  window.open('misc.php?goto=project&id=' + goto, 'window', 'width=400, height=200, menubar=no, location=no, scrollbars=yes, resizable=no');
}

...is die Funktion

"<a href="#" onclick="open_project(".$result[goto].")" target="_self" class="link_bar">".$result[topic_de]."</a>";

... is der im PHP-generierte Link

VD
mfG

satanus

  1. Hallo satanus.

    Ich möchte, dass sich beim Click auf einen Link, durch einen Event-Handler (onclick) eine Funktion (open) aufgerufen wird, die ein neues Fenster öffnet.
    Nur funktioniert des einfach ned...

    Erläutere „funktioniert net“ etwas näher. Fehlermeldungen?

    function open(goto) {
      window.open('misc.php?goto=project&id=' + goto, 'window', 'width=400, height=200, menubar=no, location=no, scrollbars=yes, resizable=no');
    }

    ...is die Funktion

    Du solltest einen Blick auf die reservierten Wörter in JavaScript werfen.

    "<a href="#" onclick="open_project(".$result[goto].")" target="_self" class="link_bar">".$result[topic_de]."</a>";

    ... is der im PHP-generierte Link

    Der interessiert nicht. Es interessiert nur, was clientseitig am Ende zur Verfügung steht.

    Einen schönen Sonntag noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
    Meine Browser: Opera 8.01 | Firefox 1.0.5 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. Hallo Ashura!

      Prinzipiell hast Du recht. Aber schon die im onclick aufgerufene Funktion open_project() ist nicht definiert. Kann also nicht funktionieren.

      Das hätte man mitteilen können. Muss man aber nicht ;)

      Irgendwie finde ich es auch immer wieder schwer verständlich wieso Funktionen in JavaScript überschrieben werden, wie er es hier macht.

      Schönen Gruß

      Afra

      1. Hallo afra.

        Prinzipiell hast Du recht. Aber schon die im onclick aufgerufene Funktion open_project() ist nicht definiert. Kann also nicht funktionieren.

        Wenn man die Augen nicht überall hat...

        Das hätte man mitteilen können. Muss man aber nicht ;)

        Ein bisschen darf er ja auch noch machen. ;-)

        Einen schönen Sonntag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
        Meine Browser: Opera 8.01 | Firefox 1.0.5 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
    2. Hallo Ashura,

      ich weiß, dass du ein überzeugter Opera-User bist, und ich weiß, dass es auch beim Opera immer wieder was Neues gibt (auch wenn ich ihn nicht mag).

      Aber dass man -laut deiner Signatur- bei Opera neuerdings auch ein Bit mieten kann, ist interessant:

      Opera 8.02 mit Bittorent-Unterstützung

      Das solltest du nur etwas anders schreiben, etwa Bit-to-rent-Unterstützung. Dann ist es viel leichter zu lesen. ;)

      *scnr*

      Martin

      1. Hallo Martin.

        ich weiß, dass du ein überzeugter Opera-User bist, und ich weiß, dass es auch beim Opera immer wieder was Neues gibt (auch wenn ich ihn nicht mag).

        Na warte du... >;-)

        Aber dass man -laut deiner Signatur- bei Opera neuerdings auch ein Bit mieten kann, ist interessant:

        Opera 8.02 mit Bittorent-Unterstützung

        Das solltest du nur etwas anders schreiben, etwa Bit-to-rent-Unterstützung. Dann ist es viel leichter zu lesen. ;)

        *scnr*

        PROST!

        Einen schönen Sonntag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
        Meine Browser: Opera 8.01 | Firefox 1.0.5 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
        1. Hallo.

          PROST!

          Auch diesbezüglich wäre ihm ein "Torrent" vermutlich sehr lieb.
          MfG, at

          1. Hallo at,

            PROST!
            Auch diesbezüglich wäre ihm ein "Torrent" vermutlich sehr lieb.

            Mag sein... zumindest ist mir nachher eingefallen, dass ich mir mein Bit doch lieber kaufen als mieten möchte.

            Aber wir wollen's nicht übertreiben.
            Alles in Maßen!  ;)

            Ciao,
             Martin

            1. Hallo.

              Alles in Maßen!  ;)

              Du hast es erfasst.
              MfG, at

  2. Hallo satanus,

    Java Script ist echt ned mein Gebiet.

    Genaues Lesen und Vergleichen schon eher? ;)

    Ich möchte, dass sich beim Click auf einen Link, durch einen Event-Handler (onclick) eine Funktion (open) aufgerufen wird, die ein neues Fenster öffnet.

    Vergiss bitte nicht, dass deine Besucher davon gar nichts sehen, wenn sie
     a) einen Popup-Blocker benutzen oder
     b) Javascript deaktiviert haben.
    Um für beide Fälle eine Notlösung zu haben, solltest du im href-Attribut des Links die Ziel-URL auch nochmal angeben, dann kann man sie nämlich auch notfalls als ganz normalen Link öffnen. Zusätzlich sollte dein JS-Handler noch false zurückgeben, wenn das Popup geöffnet werden konnte - dann wird nämlich das href-Attribut des Links nicht mehr weiter beachtet.

    Aber ich glaube, das war alles gar nicht dein eigentliches Problem.

    Nur funktioniert des einfach ned...

    Dann solltest du mal auf die Javascript-Fehlermeldungen achten.

    function open(goto) {

    Hier heißt deine Funktion einfach nur open, das könnte wegen der Namensgleichheit mit der Methode window.open problematisch sein.

    "<a href="#" onclick="open_project(".$result[goto].")" target="_self" class="link_bar">".$result[topic_de]."</a>";

    Und im Eventhandler rufst du plötzlich eine Funktion open_project() auf, die es gar nicht gibt. Korrigiere also den Namen der Funktion in open_project, dann bist du schon einen großen Schritt weiter.

    ... is der im PHP-generierte Link

    Für die Fehlersuche solltest du grundsätzlich den Code angeben, der _im Browser_ ankommt, nicht den PHP-Code, der vom Server ausgeführt wird. Das macht es nur komplizierter und verschleiert möglicherweise das Problem.

    Good luck,

    Martin

    1. Hi,

      Aber ich glaube, das war alles gar nicht dein eigentliches Problem.

      Aber das der Nutzer, für die die Seite sonst völlig unbaruchbar ist.

      Live long and prosper,
      Gunnar

      --
      „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)