2014-02-08 4 views
1

Мне нужно напечатать кнопку для div, которая передаст переменную MyVar (string), или, если быть точным, это значение в качестве параметра функции addfr(). Код:Javascript quote escape дающие ошибки

document.getElementById("somediv").innerHTML="<button onclick=\"addfr(\""+MyVar+"\")\">Add as friend</button>"; 

Вместо ожидаемых

<button onclick="addfr("MyVar")">Add as friend</button>" 

я получаю:

<button onclick="addfr(" MyVar")"=""> 

Что здесь происходит? Любые идеи, как это исправить?

Edit: Окончательное решение, для тех, кто заинтересован:

<button onclick=\"addfr(&quot;"+MyVar+"&quot;)\">Add as friend</button> 
+0

Почему бы просто не использовать одинарные кавычки вместо двойных кавычек внутри строки (или наоборот)? Устраняет проблему полностью. –

+0

Nop, попытался, проблема не устранена –

ответ

3

Он должен быть HTML убежали. Попробуйте использовать &quot; вместо \".

+0

Да, это было то, что мне нужно. Это частично решило проблему, хотя мне также нужно было использовать «для ее полной работы. –

0

Вы можете использовать одинарные кавычки вместо:

document.getElementById("somediv").innerHTML="<button onclick=\"addfr('"+MyVar+"')\">Add as friend</button>";