Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Вывод части HTML кода через innerHTML (https://javascript.ru/forum/events/16436-vyvod-chasti-html-koda-cherez-innerhtml.html)

kukymbr 08.04.2011 03:12

Вывод части HTML кода через innerHTML
 
Доброго времени суток!

В переменной php находится код приблизительно следующего содержания:
<div class="someclass">Text one</div>
<div class="someclass2">Text two</div>

который передается в javascript:
echo '<script type="text/javascript">
  	function blockload(eid) {
  		var text = \''.$_data.'\';
  		document.getElementById(eid).innerHTML = text;}
</script>
  ';

Функция blockload выполняется по OnClick:
<a href="#show" OnClick="blockload(\'bottomblock\');" id="swblocklink">more</a>

При выполнении этого скрипта получаю следующую ошибку: ReferenceError: Can't find variable: blockload.
То есть, все идет хорошо, пока во вставляемом коде все написано в одну строку. Как только код написан в несколько строчек – ошибка.

Подскажите, пожалуйста, как это исправить – средствами JS или PHP. И возможно ли сделать это, не удаляя переносы из $_data?

Заранее благодарю.

Aetae 08.04.2011 03:58

То что у вас написано - произвольный набор букв, а не javascript.

Проблема же и выеденного яйца не стоит:
1. С помощью пхпшного реплейса заменить переносы строк в переменной на символы переноса.
2. Если первого не позволяет религия - добавлять в скрытый див, и уже оттуда js'ом перемещать куда надо.

kukymbr 08.04.2011 08:24

Цитата:

Сообщение от Aetae (Сообщение 99756)
То что у вас написано - произвольный набор букв, а не javascript.

Проблема же и выеденного яйца не стоит:
1. С помощью пхпшного реплейса заменить переносы строк в переменной на символы переноса.
2. Если первого не позволяет религия - добавлять в скрытый див, и уже оттуда js'ом перемещать куда надо.

Цитата:

Сообщение от Aetae
Если первого не позволяет религия - добавлять в скрытый див, и уже оттуда js'ом перемещать куда надо.

Религия позволяет, но настоятельно не рекомендует. Да и просто уже интересно найти красивый ответ :) Есть ли еще варианты, так сказать, покрасивее?

И еще. При большом объеме вставляемого текста, к тому же включающем, например, несколько <iframe>, – страница будет загружаться столько же, сколько и при этом же коде, просто написанном в HTML страницы, или быстрее?

Спасибо.

рони 08.04.2011 09:11

kukymbr, на эту же тему
Незавершенная строковая константа


Часовой пояс GMT +3, время: 10:22.