Vielleicht denke ich gerade darüber zu hart, aber ich habe ein Problem herauszufinden, was zu einer Zeichenfolge in einigen JavaScript-Code in einem onClick-Handler-Link zu verwenden. Beispiel:Wie kann ich eine Zeichenfolge innerhalb von JavaScript-Code in einem onClick-Handler umgehen?
<a href="#" onclick="SelectSurveyItem('<%itemid%>', '<%itemname%>'); return false;">Select</a>
Die <%itemid%>
und <%itemname%>
sind, wo Template Substitution auftritt. Mein Problem ist, dass der Elementname ein beliebiges Zeichen enthalten kann, einschließlich einfacher und doppelter Anführungszeichen. Derzeit, wenn es einfache Anführungszeichen enthält, bricht es den JavaScript-Code.
Mein erster Gedanke war, die Funktion der Template-Sprache zu verwenden, um den Item-Namen, der nur den Anführungszeichen entgeht, zu JavaScript zu machen. Das wird die Groß- und Kleinschreibung der Zeichenfolge, die doppelte Anführungszeichen enthält, nicht beheben, wodurch der HTML-Code der Verknüpfung unterbrochen wird. Wie wird dieses Problem normalerweise behandelt? Muss ich den gesamten onClick-Handler HTML-escapen?
Wenn ja, das würde aussehen wirklich seltsam, da die Escape-Funktion der Template-Sprache für die auch die Klammern, Zitate und Semikolons htmlify würde ...
Dieser Link erzeugt in einer Suchergebnisseite für jedes Ergebnis wird Daher ist es nicht möglich, eine separate Methode innerhalb eines JavaScript-Tags zu erstellen, da ich pro Ergebnis eine eigene Methode erstellen müsste.
Außerdem verwende ich eine Template-Engine, die bei der Firma, für die ich arbeite, selbst entwickelt wurde, so dass Toolkit-spezifische Lösungen für mich keinen Nutzen haben werden.
Sie gespeichert meine tatsächlichen und einige meiner zukünftigen Tage – Krekkon