[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: bb-code
DmitryOpalev
Как вставлять теги [ b ] и т.п. через js?



Спустя 2 часа, 39 минут, 41 секунда (28.02.2011 - 15:40) Ser18 написал(а):
Это работает для всего кроме ИЕ

//$('#strong') - div кнопка
//$('#txt') - textarea
//if (txt[0].selectionStart || txt[0].selectionStart == '0') - чтоб в ИЕ не работало, а то ошибка будет

$('#strong').click(function(){
var txt = $('#txt');
if (txt[0].selectionStart || txt[0].selectionStart == '0'){
var text_len = txt.val().length;//Длинна текста
if(text_len > 0){//чтоб в пустоту не вставлять
var start = txt[0].selectionStart;//начало выделения
var end = txt[0].selectionEnd;//конец выделения
var selectedText = txt.val().substring(start, end);//вырезаем выделенный текст
var res = txt.val(txt.val().substring(0, start) + ''+selectedText+'' + txt.val().substring(end, text_len)).focus();//вставляем текст с bb кодом
}
}
}
);


Под ИЕ у меня такой
Но он не работает
Пока не могу понять почему

if (document.selection){
txt.focus();
var sel = document.selection.createRange();
if (sel.text().length > 0) {
sel.text = '' + sel.text() + '';
}
}

Спустя 1 час, 9 минут, 35 секунд (28.02.2011 - 16:50) nugle написал(а):
Ser18
про второй скрипт, а нельзя сделать так, по клику так же на стронг, происходит функция?
мне кажется, что вместо этого
if (sel.text().length > 0) {
sel.text = '' + sel.text() + '';
}


попробуйте это
if (sel.value().length > 0) {
sel.text = '<b>' + sel.value() + '</b>';
}

Спустя 18 минут (28.02.2011 - 17:08) Ser18 написал(а):
Цитата (nugle @ 28.02.2011 - 13:50)
Ser18
попробуйте это
if (sel.value().length > 0) {
    sel.text = '<b>' + sel.value() + '</b>';
  }

Не работает

Кстати из сообщения удалились [ b ]

Эта строка выглядит тик:

var res = txt.val(txt.val().substring(0, start) + '[ b ]'+selectedText+'[ /b ]' + txt.val().substring(end, text_len)).focus();//вставляем текст с bb кодом


А эта так

sel.text = '[ b ]' + sel.text() + '[ /b ]';

Спустя 6 минут, 40 секунд (28.02.2011 - 17:15) nugle написал(а):
вот я вижу откуда берётся текст, но не понятно куда он вставляется!
если надо я могу выложить скрипт бб-кода!

Спустя 5 минут, 31 секунда (28.02.2011 - 17:20) Ser18 написал(а):
Вот так получается
sel.text() - ошибка
sel.val() - ошибка
sel.value - undefined
sel.text - пустота

Выложите пожалуйста

Спустя 4 минуты, 19 секунд (28.02.2011 - 17:25) nugle написал(а):
function replaceSelectedText(obj,cbFunc)
{
obj.focus();

if (document.selection)
{
var s = document.selection.createRange();
if (s.text)
{
eval("s.text="+cbFunc+"(s.text);");
s.select();
return true;
}
}

else if (typeof(obj.selectionStart)=="number")
{
if (obj.selectionStart!=obj.selectionEnd)
{
var start = obj.selectionStart;
var end = obj.selectionEnd;

eval("var rs = "+cbFunc+"(obj.value.substr(start,end-start));");
obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
obj.setSelectionRange(start+rs.length,start+rs.length);
}
return true;
}

return false;
}

Введите описание товара:<br />
<
input type="button" onclick = "replaceSelectedText(document.form.description,'strong')" value="strong">


Спустя 9 минут, 48 секунд (28.02.2011 - 17:34) Ser18 написал(а):
У меня вот это уже 0 выдает

var sel = document.selection.createRange();
alert(sel.text.length);

Спустя 10 минут, 16 секунд (28.02.2011 - 17:45) nugle написал(а):
а вот это
var sel = document.selection.createRange();
alert(sel);

Спустя 3 минуты, 49 секунд (28.02.2011 - 17:48) Ser18 написал(а):
Цитата (nugle @ 28.02.2011 - 14:45)
а вот это
var sel = document.selection.createRange();
alert(sel);

alert(sel) - [object TextRange]
alert(sel.text) - пустота


_____________
Курс валют
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.