Из одного textarea в другой
Здравствуйте, товарищи! :)
У меня такая задача: есть форма с двумя textarea, в одном из них текст, нужно вручную выделить часть текста, нажать на кнопку и тогда выделение скопируется в другой textarea. ... <textarea name="descr"></textarea> <textarea name="text"></textarea> <button>Вставить</button> ... Как это можно сделать? Я в js слабо соображаю, но очень нужно сделать такую штуку. Помогите пожалуйста. |
Вот такой код вставляет только теги, а содержимое нет :(
<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>
А хотелось бы, чтобы вместо тегов вставлял просто текст выделенный. |
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>
|
Попробовал пример — не работает. Может быть упустили что-то?
|
Вот нашёл пример, но он вставляет выделение только <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>
|
Chile,
Напечатайте текст в первом textarea, выделите его и нажмите кнопку paste/// разве не так? |
Ну да, именно так:) Но, в вашем примере, в сообщении не работает. Работаю в Firefox.
|
Цитата:
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 17:16. |