Экранирование двойных кавычек в обработчике событий, который выдает предупреждение, используя Grails - PullRequest
0 голосов
/ 23 октября 2011

За этот аналогичный пост , я попробовал следующее, но ничего не получилось, с ошибкой, отмеченной на стороне:

onclick="alert('This is my  \"quoted text:\"');"   (no browser response)

onclick="alert('This is my  \\"quoted text:\\"');  (no browser response) 

onclick="alert('This is my  "quoted text:"');"  (comes out as: This is my  "quoted text:")

onclick="alert('This is my  \x22quoted text:\x22');"  (grails .gsp page preprocessor chokes on this)

Есть какие-нибудь идеи, кроме включения оповещения в функцию? Я думаю, что есть способ сделать это в html / javascript?

ПРИМЕЧАНИЕ. Я обновил заголовок, чтобы уточнить вопрос об использовании Grails. Все приведенные ниже решения могут хорошо работать в целом, но не в гралях 1.3.7. Что работало, согласно указаниям MaxArt, так это добавление дополнительной обратной косой черты перед каждой обратной косой чертой, в версии 4 выше.

Ответы [ 2 ]

2 голосов
/ 23 октября 2011

Последняя форма правильная. Я не знаю, как Grails справляется с этим, но вы можете попытаться избежать обратной косой черты.

Вы всегда можете решить (и на самом деле это лучшая практика) присоединить слушатель события к элементу, а не использовать традиционное объявление события. Это должно быть выполнено после загрузки тела:

document.getElementById("alerter").addEventListener("click", function() {alert('This is my "quoted text"');}, false);

Конечно, используйте attachEvent для Internet Explorer <9. </p>

И это должен быть ваш элемент:

<span id="alerter">Quoted text</span>
1 голос
/ 23 октября 2011

Вы пробовали

&#8220; for a left
&#8221; for a right

Просто еще один вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...