Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Экранирование кавычек? хм,не работает... (https://forum.antichat.xyz/showthread.php?t=171143)

BiG_][aKeR 15.01.2010 20:21

Экранирование кавычек? хм,не работает...
 
1. Сколько не экранировал всё было норм,а сейчас столкнулся с проблемой
<a onClick="alert(\"abc\")">123</a>
не работает!
Не предлагать мне решение одной скобкой т.е. ' !
Вопрос задан именно в использовании двойной в двойных кавычках!

2.Плюс ко всему еще один глюк нашел в экранировании

Код:

<a onClick="document.getElementById('centent1').innerHTML='<b onclick=\'alert(\\\'popko\\\')\'>Кликни,но уже не работает...</b>'">Кликни</a>
<div id='centent1'></div>

По сути по клику по второму тексту должен вывести алерт,все скобки так как и нада стоят,но его НЕТУ...консоль ошибок молчит...

Pir4tt 15.01.2010 20:45

Как вариант напиши вот так:
<a onClick="alert(&quot;abc&quot;)">123</a>
;)

Deathdreams 16.01.2010 00:15

Большой_][акер
Код:

<a href="#" onClick='document.getElementById("centent1").innerHTML="<b onclick=\"alert(/привет/);\">Кликни,но уже не работает...</b>"'>Кликни</a>
<div id='centent1'></div>

Решение кривовато (посторонние символы), но работает.
А вообще зачем тут такой мазахизм?
Не проще создать JS функцию, которая всё это будет выполнять?
Например:
Код:

<script>
function doooo(){

document.getElementById("centent1").innerHTML = "<b onclick=\"alert('привет');\">Кликни,но уже не работает...</b>";
return true;

}
</script>
<a href="#" onclick="doooo();">Кликни</a>
<div id='centent1'></div>


b3 16.01.2010 00:20

Очень Большой Хакер,
Код:

<a onClick="document.getElementById('centent1').innerHTML='<b onclick=alert(\'popko\');>Кликни,но уже не работает...</b></a>'">Кликни</a>
<div id='centent1'></div>

работает алерт

BiG_][aKeR 16.01.2010 14:18

вопрос стоял не как вывести этот алерт,а как экранирова последуюшие скобки!!!
т.е. можно было бы и по функциям розбросать это всё, onclick=pos();
а в функции всё экранировать свободно можно...
ты сделай так как и в том примере,и этим екранированием,чтоб внутри уже\' \' еще были такие же скобки а в них еще...

imajo.ati 16.01.2010 14:57

<div onclick="alert(&quot;читай RFC, \&quot;хакер\&quot;&quot; );">hello</div>

Deathdreams 16.01.2010 16:28

Самый Большой Хакер,
Не заморачивайся ты с нагромождением кавычек.
Лично я создаю отдельные функции, особенно когда времени нет разбираться где какую кавычку ставить.
Я не один такой.

imajo.ati 16.01.2010 16:30

может ему безымянная нужна

b3 16.01.2010 23:42

Цитата:

вопрос стоял не как вывести этот алерт,а как экранирова последуюшие скобки!!!
Как и везде - бэкслешами \'
Стоило тему создавать из-за того что б спросить как экранировать спец символы? Ну так прочитай азы программирования, найдеш на первых страницах эту информацию.

nerezus 17.01.2010 05:55

Цитата:

Как и везде - бэкслешами \'
Нет.
А првильный ответ(самый первый) ты стер по незнанию, да еще и камент тупой поставил при удалении.
Фу так делать!

Цитата:

Ну так прочитай азы программирования, найдеш на первых страницах эту информацию.
А при чем тут программирование, если проблема в разметке?
Почитай азы ;)

P.S. http://www.gramota.ru/class/coach/tbgramota/45_88 пункт 3.


Время: 13:16