|
|
|
| Здравствуйте, подскажите как занести код из переменной в textarea сохраняя переходы на новую строку?
Теоритически:
<input type=button onclick="qqq.innerHTML='text \n text'">
<textarea id=qqq></textarea>
|
Пробовал под виндозъ \r\n, но тоже не работает...
Зарание спасибо... | |
|
|
|
|
|
|
|
для: Dimon.St
(20.01.2006 в 00:37)
| | document.getElementById('qqq').value='text \n text'"; | |
|
|
|
|
|
|
|
для: Dimon.St
(20.01.2006 в 00:37)
| | Поменяйте innerHTML на innerText | |
|
|
|
|
|
|
|
для: Dimon.St
(20.01.2006 в 00:37)
| | Везде палка о двух концах:
использовать innerText противопоказано, так как моя нелюбимая "лисичка", также как и любая другая версия nn, устроит забастовку...
а насчет ".value=" может и вариант, но не совсем, ибо тогда возникает проблемма с:
<textarea id=qqq></textarea>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.getElementById('qqq').value=""";
//-->
</SCRIPT>
|
да и еще прикол в том что следующий код работает...:
<input type=button onclick="document.getElementById('qqq').value='"' ">
|
Какие есть варианты кроме писать в яве замены всех возможных символов на соответствующие? | |
|
|
|
|
|
|
|
для: Dimon.st
(20.01.2006 в 12:24)
| | <xmp>"</xmp> работает (в смысле показа непреобразованного). Но в нём будут проблемы длинных строк, которые он не заворачивает. | |
|
|
|
|
|
|
|
для: 12345
(20.01.2006 в 12:45)
| | Возможно я некорректно объяснил или что-то не понял, но мне бы хотелось, чтобы он наоборот преобразовывал символы типа " к нормальному виду, то есть в данном случае к " и при этом это было в текстареи(аналогично в инпуте), но нехороший браузер делать этого там где нужно нехочет... | |
|
|
|
|
|
|
|
для: Dimon.st
(20.01.2006 в 13:19)
| | Так textarea преобразовывает. Ещё заметил особенность (IE, FF, Opera), что
<TEXTarea id=qqq>ee</textarea>
<input type=button onclick="document.getElementById('qqq').value='"';document.getElementById('qqq1').innerHTML='"' ">
<xmp id=qqq1>ee</xmp>
| если загружать xmp кодом JS, то xmp тоже преобразовывает кодовую нотацию символов в символы. В этом примере у меня в обеих полях появляется ' " '.
Кроме того, Opera и FF заворачивают xmp со стилем, а IE нет
<xmp style=white-space:normal;display:block>" шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш шшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшшш чхххххххххххххххххххххххххххххххххх хххххх ххххххххххххххххххххххххххххххххххх ххх хххххххххххххххххххххххххххххххххх ххххххххххххххххххххххххххххххххххх хххххххххх ххххххххххххххххххххххххххххххххххх ххххххххххх ххххххххххххххххххххххххххххх хххххххххххххххххххххххххххх</xmp>
| (Была тут похожая тема о том, как наиболее однозначно передать код в тег.) В общем, различия на каждом шагу. | |
|
|
|
|
|
|
|
для: 12345
(20.01.2006 в 14:27)
| | Весьма интересно, хотя и странно, хтмл опять лагает причем везде поразному..)
Однако есть какие-нибудь идеи как написать:
<textarea id=qqq></textarea>
<SCRIPT LANGUAGE="JavaScript">
<!--
MYMEGAVAR=" !""$%&'()*+..."
document.getElementById('qqq').value=MYMEGAVAR;
//текстареа записанно  !""$%&'()*+...
//я хочу чтоб там было !""$%&'()*+...
//-->
</SCRIPT>
|
Может есть какая-ниб функция конвентирования символов (я поискал, таковую не нашел)... | |
|
|
|
|
|
|
|
для: Dimon.st
(20.01.2006 в 16:32)
| | Нашёл интересный метод, но запрещающий использовать оба вида кавычек в виде html-кодов (", & ...). Если эту строку определить в тексте html, а не JS, они автоматически перекодируются - см.
<input type=button onclick="document.getElementById('qqq').value='()*+...text \n text';">
|
Из функций перекодировки есть только для работы с URL (%20%AC -> " ...")
А чтобы по-честному и полноценно работать с кодами, надо перекодировать строки - с использованием RegExp. (http://wdh.suncloud.ru/js05.htm - Регулярные выражения (JS))
Интересно, откуда такая задача? Надо без передачи на сервер посмотреть, что будет? Из задачи истекают методы обработки. Вот, я написал рег.выр для кодов, а ведь ещё есть символьные кодв - < ... , они не обрабатываются. Проще innerHTML c обработкой \n , но что может встретиться кроме? Переносы строк могут? Только для \n рег.выр. получается
Cтрока.replace(/\n/g,'<br>') .
Причём, напрямую он не работает - даёт ошибку в IE. Делаем опосредованно - сначала в див, потом в т-арию. Видим целый ряд оригинальностей. Про FF вообще молчу, там свой ряд.. Во-первых, там не работает innerHTML в textarea . И правильно. Но при исполнении такого кода
<TEXTarea id=qqq cols=70>ee</textarea><br>
<div id=qqq2>[][]</div>
<br>
<SCRIPT>
function ff(){re=new RegExp('\n','g');
document.getElementById('qqq2').innerHTML=MYMEGAVAR.replace(re,'<br>\n');
document.getElementById('qqq').value=document.getElementById('qqq2').innerHTML
}
</SCRIPT><input type=button onclick="ff()">
| получаем, что буквы отображаются, а > превращаются в > (FF), а также & -> & Второе - < сохраняются в IE в данном примере, а лучшие (правильные) результаты в нём даёт innerText ( document.getElementById('qqq').value=document.getElementById('qqq2').innerText ).
В общем, особенностей масса, поэтому важно знать конкретную задачу. Изначально она звучала совсем не так всеохватно. | |
|
|
|