Javascript.RU

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

Из одного textarea в другой
Здравствуйте, товарищи!

У меня такая задача: есть форма с двумя textarea, в одном из них текст, нужно вручную выделить часть текста, нажать на кнопку и тогда выделение скопируется в другой textarea.

...

<textarea name="descr"></textarea>
<textarea name="text"></textarea>
<button>Вставить</button>

...


Как это можно сделать? Я в js слабо соображаю, но очень нужно сделать такую штуку. Помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 20.11.2017, 23:28
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Вот такой код вставляет только теги, а содержимое нет

<p><textarea id="text" name="description" rows="3" cols="150"></textarea></p>

<p><textarea id='comment3' name="txt" rows="20" cols="150"></textarea></p>
<input href="#" type="button" onClick='comm(3)' value="Прокомментировать" />

<script type="text/javascript">
var textarea=document.getElementById('text');
function comm(id) {
textarea.value+="[\quote]"+document.getElementById('comment'+id).innerHTML+"[\/quote]\n";
}
</script>


А хотелось бы, чтобы вместо тегов вставлял просто текст выделенный.
Ответить с цитированием
  #3 (permalink)  
Старый 21.11.2017, 00:25
Аватар для DynkanMaclaud
Профессор
Отправить личное сообщение для DynkanMaclaud Посмотреть профиль Найти все сообщения от DynkanMaclaud
 
Регистрация: 08.08.2014
Сообщений: 261

Chile,
<textarea></textarea>
  <textarea id='target'></textarea>
  <button id='pasteButton'>Paste</button>
<script>
function copySelected(target) {
		if (target) {
    		const selectedText = document.getSelection().toString();
    		target.value = selectedText;
    }
};
pasteButton.addEventListener('click', () => copySelected(target));
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 21.11.2017, 00:58
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Попробовал пример — не работает. Может быть упустили что-то?
Ответить с цитированием
  #5 (permalink)  
Старый 21.11.2017, 01:02
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Вот нашёл пример, но он вставляет выделение только <div>, а не textarea в textarea:

<body>
  <div class="post">Недавно в Chrome Web Store мне попалось приложение jsFiddle, проект британского программиста Piotr Zalewa
    aka @zalun. По-сути, это очередная песочница для web-программистов, но говоря «очередная» я не подразумеваю
    «никому не нужная». Я долго ждал момента, когда WYSIWYG заменят такие песочницы, и, похоже, дождался.</div>
  <a
  href="javascript: void(0);" onclick="quote_message();">цитировать выделенный текст</a>
    <form action="actions.php?new_message" name="usermessageform" method="post">
      <textarea cols="60" rows="20" wrap="VIRTUAL" id="message"></textarea>
    </form>
    <script>
      var selecttext;
      var  message = document.getElementById("message");
      (document.body || document.documentElement).onmouseup = function (e) {
        var el = e ? e.target : window.event.srcElement;
        if (el.tagName != 'DIV' || el.className != 'post') return;
        selecttext = '';
        if (window.getSelection) {
          selecttext = window.getSelection();
        } else if (document.getSelection) {
          selecttext = document.getSelection();
        } else if (document.selection) {
          selecttext = document.selection.createRange().text;
        }
      };
 
      function quote_message() {
        message.value+= selecttext;
        selecttext = '';
      }
    </script>
</body>
Ответить с цитированием
  #6 (permalink)  
Старый 21.11.2017, 01:06
Аватар для DynkanMaclaud
Профессор
Отправить личное сообщение для DynkanMaclaud Посмотреть профиль Найти все сообщения от DynkanMaclaud
 
Регистрация: 08.08.2014
Сообщений: 261

Chile,
Напечатайте текст в первом textarea, выделите его и нажмите кнопку paste/// разве не так?
Ответить с цитированием
  #7 (permalink)  
Старый 21.11.2017, 01:12
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Ну да, именно так Но, в вашем примере, в сообщении не работает. Работаю в Firefox.
Ответить с цитированием
  #8 (permalink)  
Старый 21.11.2017, 01:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Chile
Вот нашёл пример, но он вставляет выделение только <div>,
уберите строку 15
Ответить с цитированием
  #9 (permalink)  
Старый 21.11.2017, 01:22
Аватар для Chile
Аспирант
Отправить личное сообщение для Chile Посмотреть профиль Найти все сообщения от Chile
 
Регистрация: 10.02.2016
Сообщений: 45

Сообщение от рони Посмотреть сообщение
уберите строку 15
Теперь работает со всем подряд, но только не с textarea!
Ответить с цитированием
  #10 (permalink)  
Старый 21.11.2017, 01:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от Chile
Теперь работает со всем подряд, но только не с textarea!
так измените эту строку как вам нужно
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перетаскивание изображения из одного div-a в другой div Lera78906 Элементы интерфейса 2 01.05.2017 17:59
как с помощью javascript взять данные из одного файла html и закинуть в другой? rusik Общие вопросы Javascript 10 08.08.2016 12:11
Из одного textarea в другой… Chile Events/DOM/Window 1 10.02.2016 09:16
копирование скрипта с одного сайта на другой media-mobil jQuery 3 16.04.2015 20:39
ктивация одного блока через другой zerofx Элементы интерфейса 6 14.01.2014 00:28