Link tut nich
Henrik
- php
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
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
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
Hi Henrik,
[...] dass PHP keinne doppelten Hochkommas verträgt.
Unsinn! So gehts:
echo "<A href='#' onMouseUp="MM_openBrWindow('[...]')">$Link</A>";
Gruss,
Carsten
echo "<A href='#' onMouseUp="MM_openBrWindow('[...]')">$Link</A>";
Unsinn!
Gruß, Henrik
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
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
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
Funktioniert denn überhaupt folgendes
<A href="#" onMouseUp="MM_openBrWindow('[...]')">Link</A>
Jo, des tut's perfekt!
Gruß, Henrik
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
Danke, Andi!
Wird gleich probiert :-)