Henrik: Link tut nich

Mahlzeit allerseits,

ein php-Skript generiert folgenden Link:

<A href='#' onMouseUp='MM_openBrWindow('[...]')'>$Link</A>

Nur leider weigert sich der Link, das zu tun, was man von ihm verlangt. Liegt offenbar am '#'. Gibt es irgedein anderes Zeichen, das man stattdessen nehmen könnte?

Viele Grüße,

Henrik

  1. Hi

    <A href='#' onMouseUp='MM_openBrWindow('[...]')'>$Link</A>

    Nur leider weigert sich der Link, das zu tun, was man von ihm verlangt. Liegt offenbar am '#'. Gibt es irgedein anderes Zeichen, das man stattdessen nehmen könnte?

    Ich glaube kaum das das am # liegt!  Viel eher an den Anfuehrungszeichen. HTML kennt nur doppelte Anfuehrungszeichen, Javascript beide. Wenn du onMouseUp='MM_openBrWindow('[...]')' schreibst, dann versucht der Browser die funktion MM_openBrWindow( zu starten, da nach einem Anfuehrungszeichen das naechste Anfuehrungszeichen immer das Ende des Eventhandlers anzeigt.
    So muesste es eigentlich klappen:
    <A href="#" onMouseUp="MM_openBrWindow('[...]')">$Link</A>
    Was du noch bedenken musst ist, dass NS onMouseUp nur im Zusammenhang mit dem Event Objekt kennt, und nicht! in tags. siehe <../../tebj.htm#a17>
    Tschau Holger

    1. Danke, Holger!

      Das Problem ist nur (hab' ich natürlich nicht deutlich genug gemacht), dass PHP keinne doppelten Hochkommas verträgt. So sieht es im Kontext aus:

      <?
      echo "<A href='#' onMouseUp='MM_openBrWindow('[...]')'>$Link</A>";
      ?>

      Das mit den einfachen klappt sonst auch einwandfrei, es geht sogar (darf man natürlich nicht laut sagen) ohne...

      Henrik

      1. Hi Henrik,

        [...] dass PHP keinne doppelten Hochkommas verträgt.

        Unsinn! So gehts:

        echo "<A href='#' onMouseUp="MM_openBrWindow('[...]')">$Link</A>";

        Gruss,
        Carsten

        1. echo "<A href='#' onMouseUp="MM_openBrWindow('[...]')">$Link</A>";

          Unsinn!

          Gruß, Henrik

          1. Hallo!

            echo "<A href='#' onMouseUp="MM_openBrWindow('[...]')">$Link</A>";

            Unsinn!

            Wieso Unsinn?

            Das Maskieren (Escaping) der Anführungszeichen per Backslash () ist doch absolut in Ordnung.

            Etwas verwundert,
            kerki

            1. Wieso Unsinn?

              War nur ein Zitat (Kleine Entgleisung meinerseits...)

              Das Maskieren (Escaping) der Anführungszeichen per Backslash () ist doch absolut in Ordnung.

              Jo, das schon, aber es tut trotzdem nicht. Klar, dass ich es auch ausserhalb des php-Kontextes probiert hab - da tut es einwandfrei.

              Höchst verwundert,

              Henrik

              1. Hallo!

                Unsinn! So gehts:
                Unsinn!
                Wieso Unsinn?
                War nur ein Zitat

                Genug des UnFUGs! :-)

                Ist es denn jetzt ein PHP- oder ein Javascript-Problem?

                Funktioniert denn überhaupt folgendes

                <A href="#" onMouseUp="MM_openBrWindow('[...]')">Link</A>

                in einer statischen HTML-Seite?

                Gruß,
                kerki

                1. Funktioniert denn überhaupt folgendes

                  <A href="#" onMouseUp="MM_openBrWindow('[...]')">Link</A>

                  Jo, des tut's perfekt!

                  Gruß, Henrik

                  1. Hallo  Henrik
                    wenn dieser Link in einer statischen Seite (nicht innerhalb einer PHP-Anweisung) funktioniert
                    dann liegt es am fehlenden escaping wie schon oben beschrieben.
                    Allerdings sind sind hier nicht nur die doppelten Anführungszeichen als Sonderzeichen
                    anzusehen sondern auch folgende denen du jeweils einen Backslash voransetzen must:

                    Sonderzeichen:  $  ^ .  ( )  [ ]   * + ? { } \

                    Andi

                    1. Danke, Andi!

                      Wird gleich probiert :-)