Сообщение от Вячеслав Александрович
|
А как на счет экранирования?
|
Экранировать надо по правилам языка, в котором код пишешь.
В первую очередь мы пишем в HTML, потому как в первую очередь работает HTML-парсер, разбирая наш документ. А в атрибутах кавычки нужно заменять html-мнемониками:
onclick="eval("код")"
onclick='eval('код')'
Либо комбинировать кавычки (как в js):
onclick="eval('код')"
При этом не забываем что мы пишем все-таки js код, хоть и внутри html. HTML-парсер, разобрав документ, передает js-код из атрибута onclick в js-движок, поэтому экранировать надо и по правилам js:
onclick="eval("alert(\"строка\")")"
Смотрим:
<button onclick="eval("alert(\"строка\")")">Click me</button>
Eval - зло. Чайники его любят использовать даже тогда, когда этого вообще не требуется ))
Инлайновые onclick'и - тоже не есть хорошо. Навешивайте обработчики из js и не придется извращаться с экранированием.