Редактор текста

Tonic

Новичок
Редактор текста

Как на Java-script вставить в Textarea на позицию курсора любой текст. Наподобие форумов, как тут это организовано, и можно например выделить текст, нажать на кнопку и чтобы вокруг выделенного текста появились теги <b> и соответственно </b>
 

Quessir

Новичок
function insert_text(form_name, text_name, text_to_insert)
{
var txtarea = document.forms[form_name].elements[text_name];

txtarea.focus();
var theInsert=document.selection.createRange();
theInsert.select();
theInsert.text=text_to_insert;
return;
}



Потом в БОДИ

print "<a href=\"javascript:insert_text('".$form_name."', '".$text_name."' , '".$text."')\"><img src=\"smth.jpg\" alt=\"\"></a>";
 

maxru

МИФИст
Quessir, твой факин скрипт заменит текст, который надо окружить тэгами самими тэгами. Может лучше так:
PHP:
theInsert.text='<b>'+theInsert.text+'</b>';
//Админы, сделайте, наконец html - парсер
 

Flanker

незнайка
люди я не хочу сказать что я это написал
Код:
code:--------------------------------------------------------------------------------
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;}
}
посоветовано WP

там есть ещё пару примеров , у меня всё работает. Спасибо ЛЮДЯМ.


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

maxru

МИФИст
Flanker, а ты на 100% уверен, что selectionStart и selectionEnd работают корректно во ВСЕХ популярных броузерах? (вопрос с подвохом)

-~{}~ 24.07.06 16:50:

Сделал то же самое, но в 3 раза сложнее :D
 

sequencer

Новичок
Flanker
Этот скрипт действует (почти: выделенный текст он ЗАМЕНЯЕТ), но у него есть побочный эффект офигительный - после вставки текста он открывает эту же страницу с "?Id="
Детально: (скрипт слегка изменен)
PHP:
Вызов вот таким образом:

<BUTTON onclick="insertlink(this.form)">&lt;--Вставить такой-то текст</button>

А вот сама функция:
		function inserttext(ref){
			value="..."
			var field=document.form.Content // ссылка на textarea
			if (document.selection) {field.focus(); document.selection.createRange().text=value;}
			else if (field.selectionStart || field.selectionStart == '0') {field.value = field.value.substring(0,field.selectionStart) + value + field.value.substring(field.selectionEnd,field.value.length);}
			else {field.value += value;}
		}
Правда в той же форме где BUTTON есть
PHP:
<INPUT type="button" onclick="функция делающая submit">
но она НЕ запускается, проверено.

-~{}~ 24.09.06 17:56:

ref передается чтобы на основе данных формы составить value.
 
Сверху