Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2017, 15:48
Интересующийся
Отправить личное сообщение для Zmicer Посмотреть профиль Найти все сообщения от Zmicer
 
Регистрация: 24.02.2017
Сообщений: 20

Как передать текст из одной textarea в другую?
Здравствуйте! Пытаюсь выполнить небольшую задачку на JS. Надо из textarea получить в массив значения (для последующей замены некоторых значений массива, но это понятно как сделать). А затем вывести этот массив в другую textarea с сохранением всех пробелов и с разделением по строкам. Взять удалось. Подскажите, как все эти значения передать в другую textarea? Заранее спасибо за ответ!

Собственно код:
Код:
<!DOCTYPE HTML>
<html>
<head>
	<title>example</title>
</head>
<body>
<textarea style="width: 300px; height: 150px;">
</textarea><br/>
<input type="button" value="click me">
<script>
var textarea = document.querySelector('textarea'),button = document.querySelector('input');

button.onclick = function ()
{
var myList = textarea.value.split('\n');
}

</script>


<br/>
<textarea style="width: 300px; height: 150px;">
</textarea><br/>

</body>
[/html]

Последний раз редактировалось Zmicer, 24.02.2017 в 16:06.
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2017, 16:21
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

document.getElementsByTagName('textarea')[1].value = '...';


А по хорошему, дать id, name или class каждой textarea, и получать их по этих по одному из этих атрибутов.
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2017, 16:33
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

<script>
function Xerox(new_line) {
	var src = document.getElementById("Source").value;
	var res = document.getElementById("Receiver");
	var myList = src.split(new_line || /\r?\n/);

	res.value = myList.join("\r\n");
}
</script>
<body>
<textarea id=Source rows=12 cols=40>First line;
Line #2

End of text.</textarea><br />
<input type='button' value='click me' onclick='Xerox(/\r?\n/)' /><br />
<textarea id=Receiver rows=12 cols=40></textarea>
</body>

Последний раз редактировалось Paguo-86PK, 25.02.2017 в 17:22.
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2017, 16:53
Интересующийся
Отправить личное сообщение для Zmicer Посмотреть профиль Найти все сообщения от Zmicer
 
Регистрация: 24.02.2017
Сообщений: 20

Спасибо, работает что надо!
А что означает \r? ?
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2017, 17:03
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Рудимeнт прошлого...
В давних браузерах (IE в частности), как и терминале (DOS-сессии) это унаследовалось от первых принтеров (вспомните пишущие машинки: писатель сначала возвращает каретку в начало, а потом прокручивает лист дальше на строчку).
Тем самым, \r - вернуть каретку, \n - новая строка.
Мои скрипты часто не работали, потому что Opera, IE и Chrome по-разному разделяли строки (в IE - \r\n, в Chrome - просто \n).
Выражение /\r?\n/ означает или \n, или \r\n.

P.S.: Это у меня используется везде для устойчивости к "рудиментам"
Ответить с цитированием
  #6 (permalink)  
Старый 24.02.2017, 17:29
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Тогда уж лучше

split(/[\n\r\f]+/)
Ответить с цитированием
  #7 (permalink)  
Старый 24.02.2017, 21:22
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Сообщение от Ruslan_xDD Посмотреть сообщение
Тогда уж лучше

split(/[\n\r\f]+/)
Нo, так писать нельзя, если я не ошибаюсь
Переход на новую строку - \r\n, тогда как от [\r\n\f]+ будет беспорядочное разделение строк (десять пустых строк могут приняться за одну).
Писал сотни скриптов и могу гарантировать за своё.
Но, в Вашем - сомневаюсь. На практике нужно проверить...
<script>
function Xerox(new_line) {
	var src = document.getElementById("Source").value;
	var res = document.getElementById("Receiver");
	var myList = src.split(new_line || /\r?\n/);

	res.value = myList.join("\r\n");
}
</script>
<body>
<textarea id=Source rows=12 cols=40>First line;
Line #2

End of text.</textarea><br />
<input type='button' value='click me' onclick='Xerox(new RegExp(document.getElementById("splitter").value))' />
for split by <input id=splitter type=text value='' /><br />
<input type=button value='use /\r?\n/' onclick='Xerox(/\r?\n/)' />
<input type=button value='use /\n/' onclick='Xerox(/\n/)' />
<input type=button value='use /[\r\n\f]+/' onclick='Xerox(/[\r\n\f]+/)' /><br />
<textarea id=Receiver rows=12 cols=40></textarea>
</body>

P.S.: Кстaти, я уважаю ваш опыт и профессионализм.
Но, осмеюсь заметить, что строчка имеет "запах" иронии.
Да, в рамках современного браузера такая защита от рудиментов и дураков может и излишняя.
Но, если этот самый "новичок" вскоре займётся написанием чего-то серъёзного, например обработкой БД с низкоуровневой обработкой файлов в php, на более-менее "старых" файлах скрипт может сильно промахнуться
Zmicer, не бойтесь. От моего /\r?\n/ хуже не станет. Напротив, избавит от многих недоразумений везде (cgi, php и т.д.). Лучше перестраховываться от всяких граблей

Последний раз редактировалось Paguo-86PK, 25.02.2017 в 17:33.
Ответить с цитированием
  #8 (permalink)  
Старый 27.02.2017, 11:26
Интересующийся
Отправить личное сообщение для Zmicer Посмотреть профиль Найти все сообщения от Zmicer
 
Регистрация: 24.02.2017
Сообщений: 20

Спасибо, очень помогли Ваши ответы!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Передать Var из одной функции в другую Salvat Events/DOM/Window 2 16.02.2017 22:07
Как передать функции текст с кавычками? Hurray jQuery 5 18.03.2014 21:42
как передать this и показать по нему скрытый текст mbp64 jQuery 4 26.11.2012 14:52
Вопрос по относительному позиционированию DIV XPOMOB (X)HTML/CSS 11 15.07.2009 17:02