2010-11-28 4 views
1

Ich versuche, eine Javascript-Funktion zwischen meinem Abfrage-String in der folgenden Weise, aber es funktioniert nicht ...... Kann jemand darauf hinweisen, ob ich es richtig mache oder nicht? Mein Motiv ist das Entfernen von Sonderzeichen (#, & usw.) von einem der Parameter (appName) in meiner Abfragezeichenfolge ............ plz help !!Aufruf der JavaScript-Funktion zwischen der URL Query String

<a target="_self" onmouseout="hideTooltip()" onmouseover="showTooltip(event,'click on the name for additional details');return false" class="tip" href='<%=request.getContextPath()%>/index.jsp?page=myhome&type=details&appName=javascript:escape('<%=adMetricsVO.getApplicationName()%>')&Id=<%=bean.getID()%>'><%= bean.getName()%></a> 
+0

Sie können JavaScript nicht im 'href'-Attribut ausführen - es handelt sich nicht um ein JavaScript-fähiges Attribut. – cdhowie

Antwort

1

Das wird nicht funktionieren, weil der Javascript-Interpreter nicht in das gewöhnliche "Klick" -Verhalten des Elements einbezogen wird. Mit anderen Worten, Javascript geht nie zu siehe, dass "href" -Wert.

Um das zu arbeiten, können Sie entweder den Anwendungsnamen auf dem Server umgehen oder die URL in einem separaten Teil von Javascript zusammenführen, das Sie mit dem Fenster "load" -Ereignis verbinden oder so ähnlich.

Alternativ können Sie den "Klick" von einem Javascript-Handler behandeln lassen, der die URL erstellt und die Seite neu lädt.

2

Das ist sehr falsch. (und unmöglich zu tun, wie Sie versuchen)

Sie sollten die getApplicationName() auf dem Server entkommen.
Sie müssen es URL-encodieren, dann Attribut-encode es.