Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Нужна помощь с textarea (https://javascript.ru/forum/events/35048-nuzhna-pomoshh-s-textarea.html)

Torch`Ok 29.01.2013 13:00

Нужна помощь с textarea
 
Есть div и его содержимое переносится из textarea по keyup. Беда в том что из textarea не правильно переносятся переносы строк. Я решил чтоб при нажатии "Enter" в див записывался тег "<br />". Но не могу правильно реализовать... Хелп!!!
<textarea id="textarea1"></textarea>
<div id="div1"></div>

$('#textarea1').keyup(function (e) {
	 var txt = $(this).val()
	 	if(e.keyCode==13)
     {
          $('#div1').html(txt + '<br />');          
     }else{$('#div1').html(txt);}
  });

Этот скрипт вставляет <br /> но после следующего нажатия на любую клавишу тег исчезает...
p.s. Не желательно чтоб <br /> отображался в textarea

ksa 29.01.2013 13:30

Цитата:

Сообщение от Torch`Ok
Этот скрипт вставляет <br /> но после следующего нажатия на любую клавишу тег исчезает...

Просто меняй "возвраткаретки+перевод строки" на свой <br />...
http://javascript.ru/String/replace

Torch`Ok 29.01.2013 14:00

Вы наверно не так поняли... Или я ))
При переносе из текстареи в диве текст отображается в одну строку, не смотря на то что в текстарее он в несколько строк... Эту проблему я и пытаюсь решить, но не желательно просто в текстарею заносить тег BR, т.к. будет не очень хорошо это смотреться

ksa 29.01.2013 14:13

Цитата:

Сообщение от Torch`Ok
но не желательно просто в текстарею заносить тег BR

Таки не заноси в "текстарею"... :) Заноси в див...

Torch`Ok 29.01.2013 14:23

Если Вы имеете в виду див с contentEditable=true, то он как-то работает не понятно... Если пустой то курсор не ставится, только если какой-нибудь текст есть...

ksa 29.01.2013 14:23

Что-то типа такого...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function (){
	$('button').click(function (){
		var val=$('textarea').text();
		val=val.replace(/\r/g,'<br />')
		$('div').html(val);
	});
});
</script>
</head>
<body>
<textarea></textarea>
<button>get</button>
<div></div>
</body>
</html>

ksa 29.01.2013 14:24

Цитата:

Сообщение от Torch`Ok
он как-то работает не понятно..

Он работает всегда одинаково. :)

Deff 29.01.2013 14:27

Цитата:

Сообщение от Torch`Ok
Есть div и его содержимое переносится из textarea по keyup. Беда в том что из textarea не правильно переносятся переносы строк

можно при переносе обрамлять в теги <pre> </pre>

Deff 29.01.2013 14:31

В Опере - не перенеслось

ksa 29.01.2013 14:36

Цитата:

Сообщение от Deff
В Опере - не перенеслось

Да вот же... :( Смотрел в ИЕ...

Вот такой вариант работает и там, и там

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function (){
	$('textarea').keyup(function (e) {
		var val = this.value;
		val=val.replace(/\n/g,'<br />')
		$('div').html(val);
	});
});
</script>
</head>
<body>
<textarea></textarea>
<div></div>
</body>
</html>


Часовой пояс GMT +3, время: 21:43.