Очень долго думал, как реализовать вставку селекшиона, потом внезапно до меня дошло) Не без помощи естественно. Помог скриптик с одного форума (javascript.ru), который копировал текст от 1 слова к другому и дублировал селекшн. Ну это не важно.
Вот собсно решение:
Code:
function insertTag(obj_name, tag_start, tag_end)
{
var area=document.getElementsByName(obj_name).item(0);
if (document.getSelection)
{
area.value=area.value.substring(0,area.selectionStart)+ tag_start+area.value.substring(area.selectionStart, area.selectionEnd)+tag_end+area.value.substring(area.selectionEnd,area.value.length);
}
else // Для ишака
{ var selectedText=document.selection.createRange().text;
if (selectedText!='')
{ var newText=tag_start+selectedText+tag_end;
document.selection.createRange().text=newText;
}
}
}
Вызываем так:
Code:
<input type="button" value=" B " onClick="insertTag('news_content_l', '[b]', '[/b]')" />
Почему ищем по имени поля? Потому что по новым стандартам w3 свойство id неприемлемо и с текстовыми полями следует использовать name
Поправлю тебя, ID может использоваться только на одном поле, на сколько я знаю. А w3c видимо решили, что на инпутах, которых может быть много, лучше использовать name, так как его можно назначить одинаковым множеству полей. Но какой смысл, что-то запрещать я все равно не вьеду. Пусть бы кому надо юзали name, а кому надо ID. Зачем вводить тупые правила, ума не приложу. Но ладно, это их дело. С ними, я смотрю, все равно 99% сайтов не считается))))