получить value бе преобразований
всем привет. такая проблема, есть например textarea, туда при загрузке страницы ставится какой-то текст. но когда я запрашиваю value элемента, мне заменяют спец. символы html на сами эти символы (например < на <, причем если был символ < он естественно остается без изменений, поэтому и возникает путаница). как получить текст как есть, то есть без этих всех преобразований? вот в точности что я положил в этот элемент в точности необходимо получить этот же текст. Как это сделать?
|
<textarea id="area"><test><</textarea> <script type="text/javascript"> var area = document.getElementById( 'area' ); alert( area.innerHTML ); // либо так: var html = area.value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """); alert( html ); </script> |
нет, эти 2 способа я уже пробовал и они не подходят.
вот блин, весь вечер парился над этой фигней. а делается это так. ставится <div id="testdiv"><!--some<text>--></div> и затем после получения текста innerHTML'ом просто убрать символы комментариев. текст никак не искареживается, <br> да вообще весь текст как вставляем при загрузке так и отдается (без всяких там "html исправлений"). лепота. |
codingfighter,
считывать просто нун из textarea не innerHTML , a text |
Цитата:
|
devote,
Есть, метод: типо alert - но вывод в переменную (всё как то забываю скопипастить - редко нужен Извращенный метод такой <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr"> <script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script> <body> <textarea id="main-reply" name="req_message" rows="13"/><div style="background-color:red;color:#fff;"> БУКВЫ ВИДНЫ _ ТЕГИ нет </div></textarea> <script> var a=$("#main-reply").text(); $("#main-reply").before(a); </script> </body> </html> |
Deff,
что-то у меня не работает ваш вариант, а во вторых вы внутренности джуквери смотрели? как он получает текст из элемента? в этом то и дело что юзает атрибуты такие как: textContent, innerText, nodeValue, value |
devote,
Поправил(не отражалась, поскольку <text> - тег... *только, что дошло, почему не отражалось - но все таки - интересно - точно знаю, что есть метод - типо аlert, но вывод в переменную, н или куда еще, т.е он как и алерт, преобразует заменители спецсимволов - в символы Цитата:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr"> <script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script> <body> <textarea id="main-reply2" name="req_message" rows="13"/><div style="background-color:red;color:#fff;"> БУКВЫ ВИДНЫ _ ТЕГИ нет </div></textarea> <script> $("#main-reply2").before(document.getElementById("main-reply2").textContent); </script> </body> </html> |
Часовой пояс GMT +3, время: 14:06. |