Antje Hofmann: Probleme mit Funktionsaufrufe in Verweisen

Beitrag lesen

Hallo  Ralf,

Dein aktuelles Problem ist kein Java-Problem, sondern ein normales JavaScript-Problem.

Und jetzt die Lösung:

da der ursprüngliche Seitencode nicht mehr existiert kann ich nur folgendes vermuten.

Du hattest den Link etwa in der Form geschrieben:

<a href="javascript:na_open_window('win0001', '0001.jpg', 0,0, 290, 430, 0, 0, 0, 0, 1);" target="irgendwas"> ...</a>

Das Problem ist hier der target. JavaScript versucht dann, im angegebenen Zielfenster die Funktion zu finden. Wenn es die oder das Fenster nicht gibt, dann führt das zu so einer Fehlermeldung.

Dieter seine Lösung war schon in Ordnung, nur hatte sich da ein Flüchtigkeitsfehler eingeschlichen.

<a href="004.jpg" onclick=na_open_window('win0001', '0001.jpg', 0,0, 290, 430, 0, 0, 0, 0, 1);return false"> ... </a>

nach dem onclick fehlt das Anführungszeichen.

Richtig:

<a href="004.jpg" onclick="na_open_window('win0001', '0001.jpg', 0,0, 290, 430, 0, 0, 0, 0, 1);return false"> ... </a>

und damit die ganze Geschichte etwas einfacher wird, noch folgende Korrektur:

Du kannst im href="" die richtige Zieladresse eingeben und im Funktionsaufruf mit this.href die URL übergeben, die zu diesem Link gehört. Also so:

<a href="004.jpg" onclick="na_open_window('win0001', this.href, 0,0, 290, 430, 0, 0, 0, 0, 1);return false"> ... </a>

Damit vermeidest du Tippfehler wie sie aktuell in deiner Seite vorhanden sind.

Browser  die JavaScript kennen führen den onclick-Event aus und die Angabe "return false" sorgt dafür, dass der Verweis nicht ausgeführt wird.

Browser ohne JavaScript zeigen das normale Bild an. Die Verwendung von onclick gestattet dir jetzt auch die Angabe eines Zielfensters, ohne das der Browser die Funktion im Zielfenster sucht.

Viele Grüße

Antje