2012-03-08 3 views
0

Как встроить следующую строку параметров в событие onclick, не нарушая JS? Прямо сейчас происходит столкновение с двойными котировками. значения в событии onclick происходят из переменной JS.Передача JSON в событиях OnClick

Ex:

initializeMap('["2012-02-17 15:39:19.0,33.38727791932264,-86.74324840021933","2012-01-10 00:40:08.0,33.38708092092858,-86.74331461676397"]','%68%74%74%70%3a%2f%2f'); 

В OnClick Event:

<a href="#-" onclick="JavaScript:initializeMap('["2012-02-17 15:39:19.0,33.38727791932264,-86.74324840021933","2012-01-10 00:40:08.0,33.38708092092858,-86.74331461676397"]','%68%74%74%70%3a%2f%2f');">Click Me</a> 

Благодаря

+1

(a) Метка 'JavaScript:' здесь не нужна. Вы также можете использовать 'Foo:'. (b) Это пример ситуации, когда использование чего-то другого, кроме встроенных обработчиков событий, более уместно. Взгляните на http://www.quirksmode.org/js/introevents.html. В противном случае вам нужно закодировать двойные кавычки, что раздражает imo. –

+2

Вы действительно уверены, что вам нужно добавить обработчиков inline? – hugomg

ответ

1

Я хотел бы пойти на обработчик JS для события OnClick.

Если вы застряли с встроенным JS, попробуйте использовать

<a href="#-" onclick='initializeMap(["2012-02-17 15:39:19.0,33.38727791932264,-86.74324840021933", 
"2012-01-10 00:40:08.0,33.38708092092858,-86.74331461676397"],"%68%74%74%70%3a%2f%2f");'>Click Me</a> 
2

Как сказал Джейк, это лучше обрабатывать без встроенных обработчиков. В настоящее время никто не должен использовать встроенные обработчики. Сказав, что, есть два варианта:

  • Вы можете HTML избежать вашей строки JS, это будет выглядеть так: "[&quot;2012-02-17 15:39:19.0,33.38727791932264,-86.74324840021933&quot;,&quot;2012-01-10 00:40:08.0,33.38708092092858,-86.74331461676397&quot;]"
  • Вы действительно не нужны кавычки JSON, так как она действует на JavaScript
+0

Я использую escape() для этого? – Jake

+0

Oooops, я на самом деле использовал кодировку url (это то, что делает 'escape'), когда я должен был использовать кодировку HTML ... исправление ... –

+0

Вот как избежать HTML в JS http://shebang.brandonmintern.com/ надежной-HTML-побег в-JavaScript –

Смежные вопросы