Сообщение от javascript_pupil
|
Этот вариант не подходит. Надо переписывать программный код которым создаются формы, textarea и т.п. Проще вторую кнопку воткнуть для 2-й textarea.
|
<script>
var lastTextArea; // Сохраняет ссылку на TextArea под фокусом при нажатии на кнопку вставки ссылки
var lastUserLink = "https://javascript.ru/forum/misc/"; // Сохраняет адрес последней введенной ссылки
function addLink(button) {
if(button.parentNode.contains(lastTextArea)) {
const href = prompt("Адрес ссылки", lastUserLink);
const text = lastTextArea.value.substring(lastTextArea.selectionStart, lastTextArea.selectionEnd) || href;
const injected = "<a href='" + href + "'>" + text + "</a>";
const from = lastTextArea.selectionStart;
let last = lastTextArea.selectionEnd;
if(href) {
lastUserLink = href; // Запоминаем адрес введённой ссылки
lastTextArea.value = lastTextArea.value.substr(0, from) + injected + lastTextArea.value.substr(last);
last = from + injected.length; // Корректируем выделение, чтобы охватить вставляемый тег ссылки
}
lastTextArea.focus(); // Возвращаем фокус и восстанавливаем выделение
lastTextArea.selectionStart = from;
lastTextArea.selectionEnd = last;
}
}
</script>
<body>
<form>
<a href='#' onfocus='lastTextArea = event.relatedTarget' onclick='addLink(this)'><img src='https://javascript.ru/forum/images/editor/createlink.gif'></a><br>
<textarea rows=3 cols=80>
Ссылка#1
Ссылка№2
</textarea><br>
<textarea rows=3 cols=80>
Ссылка#3
Ссылка№4
</textarea>
</form>
</body>