Показать сообщение отдельно
  #3 (permalink)  
Старый 03.02.2010, 14:21
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Вот более удобный вариант. Заключает выделенную область TEXTAREA между a и b. Я так понял вам именно BB-коды нужны
function compass (a, b)
{
	// Ссылка на TEXTAREA
	var txt = document.getElementById("txt_1");
	
	// Для Microsoft IE
	try {
		// Установка фокуса на текстовом поле
		txt.focus();
		
		// Создать объект из текущего выделения
		var range = document.selection.createRange();
		
		// Изменение выделенной области
		range.text = a + range.text + b;
	}
	// Для Mozilla/Gecko
	catch (e) {
		// Позиция начала выделения
		var start = txt.selectionStart;
		
		// Позиция конца выделения
		var end = txt.selectionEnd;
		
		// Изменение выделенной области
		txt.value = txt.value.substr(0, start) + a + txt.value.substr(start, end-start) + 
			b + txt.value.substr(end, txt.value.length);
	}
}


Пример использования:
<textarea cols="90" rows="10" id="txt_1"></textarea>
<input type="button" value="Жирный" onclick="compass ('[B]', '[/B]')"/>
<input type="button" value="Курсив" onclick="compass ('[I]', '[/I]')"/>
<input type="button" value="Смайлик" onclick="compass (':-)', '')"/>
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием