Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не преобразуется \n вставляемый в textarea 
:(
    Опции темы
Innuendo108
Дата 28.3.2010, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



Нужно в textare'ю вставлять определенный текст
Есть выпадающий список, по нажатию на элемент которого,  в текстарею должно пойти его значение.

в цикле это выглядит вот так:
Код

    list[i].addEventListener ("click", function () { d.getElementById("comment").value = this.value; }, true);

Элемент списка выглядит вот так:
Код

<option value="a\nbc\nd">Элемент2</option>


и текст так и вписывается, \n - не преобразуется.

Главное что если явно указать d.getElementById("comment").value = "a\nbc\nd", то вставится как надо

Это сообщение отредактировал(а) Innuendo108 - 28.3.2010, 11:31
PM MAIL   Вверх
Innuendo108
Дата 28.3.2010, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



Проблема решена.
Решил так:

1) вместо "\n"  в атрибуте option'a писал "***";

2) в скрипте изменил так:
Код

list[i].addEventListener ("click", function () {
        d.getElementById("comment").value = this.value.replace(/\*\*\*/gi,"\n"); 
    }, true);    

PM MAIL   Вверх
IDVsbruck
Дата 28.3.2010, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 778
Регистрация: 12.11.2006

Репутация: 8
Всего: 22



Дикость какая ...
Для таких сложных случаев делается сопоставление простых value сложным строковым данным (или массивом, или еще удобнее объектом - типа, ассоциативным массивом, чтобы было удобно обращаться).
PM MAIL   Вверх
Innuendo108
Дата 28.3.2010, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



когда у тебя уже есть .html-овский файл, в котором создано 5 таких <select>-ов, и в каждом по 20-30 <option'ов в которые в атрибуте value задано значение, то гораздо быстрее написать так, чем создавать массив, и "копи-пастить" данные...
PM MAIL   Вверх
bars80080
Дата 28.3.2010, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Цитата(Innuendo108 @  28.3.2010,  17:26 Найти цитируемый пост)
чем создавать массив, и "копи-пастить" данные... 

а почему не переделать столь ущербный хтмл-овский файл?
PM MAIL WWW   Вверх
skyboy
Дата 28.3.2010, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(Innuendo108 @  28.3.2010,  10:25 Найти цитируемый пост)
<option value="a\nbc\nd">Элемент2</option>

а вот был бы у тебя такой HTML:
Код

<option value="a
bc
d">Элемент2</option>

и все могло бы сложиться иначе.
но и в таком случае можно использовать предварительную замену текста "\n" на перенос строки:
Код

textarea.value = option.value(/\\n/g,"\n");

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1093 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.