Как вставить кусок текста в <textarea> в место положение курсора

Flanker

незнайка
Как вставить кусок текста в <textarea> в место положение курсора

Как вставить кусок текста в <textarea> в место положение курсора.
Заранее спасибо.
 

WP

^_^
Код:
function insertAtCursor(myField, myValue)
{
 if (document.selection) {myField.focus(); document.selection.createRange().text = myValue;}
 else if (myField.selectionStart || myField.selectionStart == '0') {myField.value = myField.value.substring(0,myField.selectionStart) + myValue + myField.value.substring(myField.selectionEnd,myField.value.length);}
 else {myField.value += myValue;}
}
 

Flanker

незнайка
Спасибо. Всё работает! Как для новичка можешь немного описать логику работы скрипта.
 

denver

?>Скриптер
В мозилле вставляет куда-надо, но затем курсор передвигает в самый конец всего текста. С этим можно что-то сделать?

-~{}~ 14.07.06 23:46:

Можно :)
PHP:
function insertAtCursor(myField, myValue) {
	if (document.selection) {
		myField.focus();
		document.selection.createRange().text = myValue;
	}
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var position = myField.selectionStart;
		myField.value = myField.value.substring(0,myField.selectionStart) + myValue + myField.value.substring(myField.selectionEnd,myField.value.length);
		myField.selectionStart = myField.selectionEnd = position  + myValue.length;
	} else {
		myField.value += myValue;
	}
	myField.focus();
}
Если можно сделать лучше -- укажите плиз

-~{}~ 14.07.06 23:49:

Походу в опере просто добавляет в конец... есть где защитнички оперы? Слышите -- опера лажает!
 
Сверху