Экранирование HTML-элемента в строке PHP, чтобы предотвратить неправильный вывод в браузер? - PullRequest
0 голосов
/ 28 февраля 2012

У меня проблемы с отображением строки, содержащей элемент выбора HTML с javascript внутри

Ввод на сервере

 echo '<select name="services" onchange="document.getElementById("services").style.display = this.options.selectedIndex ? "block" : "none";" >';

Вывод в браузере

<select "none";"="" :="" "block"="" ?="" services").style.display="this.options.selectedIndex" onchange="document.getElementById(" name="services"></select>

Я пытался экранировать строки, используя \ символ, но, похоже, ничего не работает.

echo '<select name="services" onchange="document.getElementById(\"services\").style.display = this.options.selectedIndex ? \"block\" : \"none\";" >';

Выходы

<select \"none\";"="" :="" \"block\"="" ?="" services\").style.display="this.options.selectedIndex" onchange="document.getElementById(\" name="services"></select>

Какие-нибудь хитрости или хаки, чтобы обойти эту проблему?

Спасибо

Ответы [ 2 ]

3 голосов
/ 28 февраля 2012

Попробуйте:

 echo "<select name=\"services\" onchange=\"document.getElementById('services').style.display = this.options.selectedIndex ? 'block' : 'none';\" >";
0 голосов
/ 28 февраля 2012
echo '<select name="services" onchange="document.getElementById(\"services\").style.display = this.options.selectedIndex ? \"block\" : \"none\";" >';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...