Добрый день.
Есть короткий код:
Код:
|
<a style=cursor:pointer onClick="x('SAMS UNG')">НажмиТУТ</a>
<input id=PoleText>
<script>
function x(Stroka){document.getElementById('PoleText').value=Stroka}
</script> |
Всё просто:
Есть строчка НажмиТУТ и текстовое поле. При нажатии на строку выполняется событие onClick, которое вызывает функцию x, которая помещает в текстовое поле передаваемый параметр.
Вроде всё работает.
Может я не прав, но мне кажется я правильно расставил необходимые кавычки:
- одинарные обязаны окоймлять строковую переменную
- и саму функцию вставил в двойные кавычки, так как иначе встретив первый пробел он являлся бы концом действия по onClick
В этой ситуации недопустимо чтобы в строке была бы одинарная или двойная кавычка (так как любая из них испортит код), и я понимаю что если она появится то я её должен экранировать.
Но непонятый для меня момент появился если я среди прочего должен передавать последовательность символов
&##039; (естественно с одним символом #, просто если я тут его поставлю одинарным, то сайт отобразит само значение), например вместо 'SAMS UNG' надо в функции передать строку 'SAMS
&##039;UNG'.
Да, ASCI символ номер 39 - это одинарная кавычка. Но я же не передаю кавычку, я передаю строку содержащую код который HTML может отобразить в виде кавычки (и то не всегда). В реальной жизни он даже отображаться не будет. Но почему если я попытаюсь передать 'SAMS
&##039;UNG' - JavaScript пытается перевести мою строку в код и перестаёт работать как будто я пытаюсь передать 'SAMS'UNG' ???