Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как заэкранировать кавычки в переменной? (https://javascript.ru/forum/misc/29934-kak-zaehkranirovat-kavychki-v-peremennojj.html)

FRIE 17.07.2012 20:48

Как заэкранировать кавычки в переменной?
 
Есть яваскрипт-ссылка, при клике на которую, передаются параметры в функцию. Эти параметры перечислены через запятую в кавычках
onclick="AddToCart("305","970","Пицца \"Маргарита\"")"
Вначале такая ссылка выводится через php, где кавычки экранируются как надо.

Затем, после обработки одной из функций значений параметров, ссылка может пересоздаваться,
var link="onclick='AddToCart(\""+id+"\",\""+price+"\", \""+name+"\")'"
результат
onclick='AddToCart("305","970","Пицца "Маргарита"")'

Нужно чтобы скрипт экранировал кавычки вот так "Пицца \"Маргарита\""

dmitriymar 17.07.2012 21:04

Цитата:

Сообщение от FRIE
Нужно чтобы скрипт экранировал кавычки вот так "Пицца \"Маргарита\""

малоли что кому нужно,главное как может
"Пицца 'Маргарита'" или используйте соответствующие коды из таблицы

Deff 17.07.2012 21:08

FRIE,
второе - Не проще ли так ?
onclick="AddToCart('305','970','Пицца «Маргарита»')"

oneguy 17.07.2012 21:35

Я не совсем понял вопрос, но двойные кавычки в HTML коде экранируются, как " а в Javascript строковых литералах, как \" HTML код может быть таким:
<button type="button" onclick="AddToCart('305','970','Пицца &quot;Маргарита&quot;')">Текст</button>

lord2kim 17.07.2012 21:50

FRIE, ну попробуйте так
var name = 'Пицца \\"Маргарита\\"';

Deff 17.07.2012 22:02

<button type="button" title="305,970,Пицца &quot;Маргарита&quot;" onclick="AddToCart(this.title)">Текст</button>


<script type="text/javascript">
function AddToCart(a) {
 a=a.split(',')
 alert(a[0]+'\n'+a[1]+'\n'+a[2])
}
</script>


Часовой пояс GMT +3, время: 18:08.