Язык
Контакты
GitHub
Поддержка
Регистрация
Войти
Логин: Пароль: Запомнить:
Пользователи
Последние сообщения
Ответить
1

Работаем с selection

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#1
Очень долго думал, как реализовать вставку селекшиона, потом внезапно до меня дошло) Не без помощи естественно. Помог скриптик с одного форума (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

Отредактировано автором 15 Мар 2011

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#2
skad0 пишет:
Почему ищем по имени поля? Потому что по новым стандартам w3 свойство id неприемлемо и с текстовыми полями следует использовать name
ппц. И кому Ид мешало в поле?


А за скриптик спасибо, конечно)

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)

skad0

  • Атом-мозг
  • Юзер
  • 841
  • Репутация:10 
  • Предупреждения: 0 
  • Регистрация:
    2 Окт 2010
#3
типо id может использоваться не на одном поле. Я с ними согласен)

Drunya

  • Man of God
  • Админ
  • 3527
  • Репутация:110 
  • Предупреждения: 0 
  • Регистрация:
    30 Ноя -0001
#4
Поправлю тебя, ID может использоваться только на одном поле, на сколько я знаю. А w3c видимо решили, что на инпутах, которых может быть много, лучше использовать name, так как его можно назначить одинаковым множеству полей. Но какой смысл, что-то запрещать я все равно не вьеду. Пусть бы кому надо юзали name, а кому надо ID. Зачем вводить тупые правила, ума не приложу. Но ладно, это их дело. С ними, я смотрю, все равно 99% сайтов не считается))))

Я горжусь тем, что создал бесплатную CMS - AtomX. И люблю нашу команду)
1
Сейчас online: 7. Зарегистрированных: 0. Гостей: 7.