Кавычки в JS кнопки отправки сообщения

  1. У меня есть форма заявки на сайте с кнопкой:

<a onclick = "ym (XXXXX," desireGoal "," TEST "); return true;" class = "button button_long last">Отправить данные</a>

  1. Для начала я создаю цель в Я.Метрике и получаю идентификатор для сайта.

  2. Установил данный идентификатор в ссылку (код выше), которая является кнопкой отправки сообщения с формы.

  3. Рабочий вариант кода для отслеживания целей, выглядит следующим образом (для вставки в кнопку отправки сообщения):

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 шт):

Автор решения: vsemozhebuty

Если я правильно понял, вам нужно создать строку, в которой используются внутри друг друга двойные и одинарные кавычки. В таком случае у вас есть два выбора:

  1. Экранировать кавычки внутри строки (те, которые совпадают с самыми внешними):
.append('<a onclick="ym(XXXXXX, \'reachGoal\', \'TEST\'); return true;" class="button button_long last">Отправить данные</a>')
  1. В качестве самых внешних кавычек использовать обратные (backticks, `):
.append(`<a onclick="ym(XXXXXX, 'reachGoal', 'TEST'); return true;" class="button button_long last">Отправить данные</a>`)
→ Ссылка