Кавычки в JS кнопки отправки сообщения
- У меня есть форма заявки на сайте с кнопкой:
<a onclick = "ym (XXXXX," desireGoal "," TEST "); return true;" class = "button button_long last">Отправить данные</a>
Для начала я создаю цель в Я.Метрике и получаю идентификатор для сайта.
Установил данный идентификатор в ссылку (код выше), которая является кнопкой отправки сообщения с формы.
Рабочий вариант кода для отслеживания целей, выглядит следующим образом (для вставки в кнопку отправки сообщения):
onclick = "ym (XXXXX, 'desireGoal', 'TEST'); return true;"
Проблема вот в чем:
А) С двойными кавычками получаю в итоге ошибку синтаксиса, после нажатия кнопки: Uncaught SyntaxError...
Б) Почему бы не прописать с одинарными кавычками - как есть? Из-за того, что у меня форма заявки сложная, и визуально кнопка для нажатия в конце появляется после проверки, вариант с одинарными кавычками ломает всю форму заявки.
Примеру, часть кода:
if (! err_fields) {$ (". box.last .button_controller"). append ('Отправить данные'). find ("a.last"). css ("курсор", "указатель"). click (function ( ) {send_data_brif ();}); } paneHeight (); }
Попрошу подсказать, как могу не нарушая работу формы заявки, сохранить одинарные кавычки, тем самым отслеживать цели в Я.Метрике. Спасибо.
Ответы (1 шт):
Если я правильно понял, вам нужно создать строку, в которой используются внутри друг друга двойные и одинарные кавычки. В таком случае у вас есть два выбора:
- Экранировать кавычки внутри строки (те, которые совпадают с самыми внешними):
.append('<a onclick="ym(XXXXXX, \'reachGoal\', \'TEST\'); return true;" class="button button_long last">Отправить данные</a>')
- В качестве самых внешних кавычек использовать обратные (backticks,
`):
.append(`<a onclick="ym(XXXXXX, 'reachGoal', 'TEST'); return true;" class="button button_long last">Отправить данные</a>`)