Я хочу заменить выделенный текст (или вставить новый текст после позиции курсора, если ничего не выделено).
Новый текст вводится из другого текстового поля.
Я хочу иметь возможность вставлять новый текст без предварительного щелчка (фокусировки) в текстовой области.
значение: сначала выберите текст для замены внутри текстового поля, затем введите новый текст в текстовое поле и нажмите кнопку.
function pasteIntoInput(text) {
el=document.getElementById("text");
el.focus();
if (typeof el.selectionStart == "number"&& typeof el.selectionEnd == "number") {
var val = el.value;
var selStart = el.selectionStart;
el.value = val.slice(0, selStart) + text + val.slice(el.selectionEnd);
el.selectionEnd = el.selectionStart = selStart + text.length;
}
else if (typeof document.selection != "undefined") {
var textRange = document.selection.createRange();
textRange.text = text;
textRange.collapse(false);
textRange.select();
}
}
Пример в сети: текст ссылки