получить 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, время: 22:15. |