|
|
|
| Мне надо сделать на странице поле для ввода текста и чтоб при изменении текста (ввод с клавиатуры, копипаст текстаб удаление текста и т.д), чтоб отображалось бы в каком то слое. Если есть готовыен примеры скиньте ссылку или как я могу сделать сам. Заранее всех благодарю. | |
|
|
|
|
|
|
|
для: jeans1986
(22.03.2010 в 12:43)
| |
<textarea>
Если надо копию этого же текста со всеми его динамическими изменениями где-то
в ещё одном месте, то для кроссбраузерности необходимо включить таймер,
который будет считывать содержимое этой текстовой области
и помещать копию этого содержимого в том самом нужном вам месте.
По иному (без таймера) кроссбраузерно не получится, ибо только в браузере MSIE
возможно отследить любые изменения текстовой области без таймера.
</textarea>
|
Пример кода:
<script>
var mTIMER;
function mF ()
{
var t = document.getElementById ('mTXT').value;
t = t.replace (/\</g, '<').replace (/\>/g, '>'); //замена символов тегов
t = t.replace (/\r/g, '').replace (/\n/g, '<br>'); //замена переносов строк
t = t.replace (/\t/g, ' '); //замена табуляции
document.getElementById ('mDV').innerHTML = t;
mTIMER = setTimeout (mF, 100);
}
</script>
<body>
<textarea id="mTXT" style="width: 100%; height: 40%" onfocus="mF ()" onblur="clearTimeout (mTIMER)"></textarea>
<hr>
<div id="mDV" style="width: 100%; height: 40%; background: yellow"></div>
</body>
|
| |
|
|
|
|
|
|
|
для: АЯ
(22.03.2010 в 13:17)
| | А такой метод чем плох? (Чую, нарвусь на нотацию :-))
<script type="text/javascript">
function updateIt(b){
var a = b.value;
var c = document.getElementById('here');
if(document.all){
c.innerText = a;
}
else{
c.textContent = a;
}
}
</script>
...
<textarea onkeyup="updateIt(this);"></textarea>
<pre id='here'></pre>
|
| |
|
|
|
|
|
|
|
для: DJ Paltus
(22.03.2010 в 13:38)
| | Читаем ВНИМАТЕЛЬНО исходные требования:
и чтоб при изменении текста (ввод с клавиатуры, копипаст текстаб удаление текста и т.д)
|
| |
|
|
|
|
|
|
|
для: АЯ
(22.03.2010 в 13:40)
| | Эх ух. Да, я совсем не учел, что для многих "копипаст" - это не только и не столько ctrl+v.
Действительно, без таймера никуда. | |
|
|
|
|
|
|
|
для: АЯ
(22.03.2010 в 13:17)
| | Большое спасибо. Всё работает. Но когда юзер вводит HTML текст то он форматирует строку. Т.е еслт вписать <b>my text</.b>, то будет текст будет отображаться жирным. Как сделать чтоб HTML теги конвертировались и отображались в тексте. Т.е мне нуже аналог функции в PHP - htmlspecialchars. Заранее благодарю. | |
|
|
|
|
|
|
|
для: jeans1986
(22.03.2010 в 14:36)
| | "Терпеть ненавижу"(с)
Сказали спасибо.
Отметили, что все работает.
А потом пишете фигню, совершенно не связанную с тем кодом, за который якобы благодарите.
Вы, блин, введите сначала <b>my text</b> в <textarea> и посмотрите - что именно отобразится.
"Терпеть ненавижу"(с) | |
|
|
|