How do I escape a string inside JavaScript code inside an onClick handler?

In JavaScript you can encode single quotes as “\x27” and double quotes as “\x22”. Therefore, with this method you can, once you’re inside the (double or single) quotes of a JavaScript string literal, use the \x27 \x22 with impunity without fear of any embedded quotes “breaking out” of your string.

\xXX is for chars < 127, and \uXXXX for Unicode, so armed with this knowledge you can create a robust JSEncode function for all characters that are out of the usual whitelist.

For example,

<a href="#" onclick="SelectSurveyItem('<% JSEncode(itemid) %>', '<% JSEncode(itemname) %>'); return false;">Select</a>

Leave a Comment