Вы можете использовать txtarea.selectionStart и txtarea.selectionEnd для получения выбранной позиции текста.
После этого Вы удаляете текст и добавляете новый выделенный текст.
Я мало что знаю о Javascript, поэтому я написал его для U.
Вы можете искать в Google по ключевым словам:
"Javascript Selected Text TextArea"
«Javascript добавить текст в позиции»
Пример кода:
function insertAtCursor (myField, myValue) {
// IE поддержка
if (document.selection) {
myField.focus ();
sel = document.selection.createRange ();
sel.text = myValue;
}
// MOZILLA / NETSCAPE поддержка
еще если (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring (0, startPos)
+ myValue
+ myField.value.substring (endPos, myField.value.length);
} еще {
myField.value + = myValue;
}
caretPos = doGetCaretPosition(myField);
alert(caretPos);
setCaretPosition(myField,caretPos-3);
}