[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод различных вариантов текста по выбору польз.
Mike05
Пытаюсь сделать страницу, где юзер может выбрать формат текста (простой текст, хтмл), и в этом виде сможет скопировать из окошка. Страница формируется из php.
Т.е. я варианты текста размещаю в невидимых <div>, в форме выпадающий список форматов, и по onchange вызывается функция jscript, которая берет из нужного дива и кладет в текстарею формы для копирования юзером. В таком виде:
var e = document.getElementById('res_'+fmt).innerHTML;
document.expForm.res.value = e;

Возникла проблема: при переносе таким способом в текстарею съедаются концы строк (т.е. текст получается без разбивки на строки). Если в php я пишу в конце строк просто \n, то оно исчезает. А если пишу \r\n, то оно заменяется на <br>, что мне в тексте совсем не нужно.
Подскажите, пожалуйста, как решить проблему.



Спустя 8 часов, 18 минут, 58 секунд (16.08.2009 - 11:31) FatCat написал(а):
PHP_EOL не пробовали?

Спустя 3 часа, 4 минуты, 56 секунд (16.08.2009 - 14:36) Guest написал(а):
Цитата (FatCat @ 16.08.2009 - 08:31)
PHP_EOL не пробовали?

Попробовал - не помогает, тоже съедается.
То я смотрел больше на текст, а теперь проверил еще хтмл - оказалось там <br> преобразуются в переводы строк. smile.gif

Нет ли все же какого-то способа перемещения из дива в текстарею без всего этого ненужного преобразования содержимого?

Спустя 10 минут, 14 секунд (16.08.2009 - 14:46) FatCat написал(а):
Цитата (Guest @ 16.08.2009 - 15:36)
Нет ли все же какого-то способа перемещения из дива в текстарею без всего этого ненужного преобразования содержимого?

А зачем вообще в дивы помещать?
Помещайте в джаваскриптовые переменные и по выбору пользователя выводите нужную.

HTML
<html>
<head>
<title>Текст по выбору</title>
<script type="text/javascript">
text1 = '<form><textarea cols="" rows="">Текст разбитый на строчки\nследующая строка</textarea></form>';
text2 = '<p>Текст разбитый на строчки<br>следующая строка</textarea></p>';
</script>
</head>
<body>
<div id="replace">Здесь будет отображаться выбранный текст</div>
<br><br>
<a href="javascript:;" onclick="javascript:document.getElementById('replace').innerHTML=text1">Текст</a>
<br>
<a href="javascript:;" onclick="javascript:document.getElementById('replace').innerHTML=text2">HTML</a>
</body>
</html>



Действующий образец:

Здесь будет отображаться выбранный текст

Текст
HTML

Спустя 1 час, 23 минуты, 53 секунды (16.08.2009 - 16:10) Guest написал(а):
Цитата (FatCat @ 16.08.2009 - 11:46)
А зачем вообще в дивы помещать?
Помещайте в джаваскриптовые переменные и по выбору пользователя выводите нужную.

Хорошая идея, спасибо.
Вот только у меня на самом деле вариантов не 2, а 4*2 (компоновка из 2х частей в 4 форматах).
Есть ли в js возможность обращаться к переменной, имя которой хранится в другой переменной? Аналог php $$a (где $a='varname';).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.