Создание bb-кодов
Всем здрасте) Подскажите, как сделать бб-коды на сайте?
Вот мой код, но он не доделан до конца(( а если быть точнее, то я не пойму как в переменную select загнать выделенный текст.. <script> function bbcods(bbcod) { var textareaobj = document.getElementById('valueid'); var bbopen = '['+bbcod+']'; var bbclose = '[/'+bbcod+']'; var select = textareaobj.value = bbopen+select+bbclose; } </script> <a href="javascript:void(0)" onclick="bbcods('b')"><b>Жирный текст</b></a><br> <form action="адрес" method="POST"> <textarea rows=5 cols=25 name="mess" id="valueid"></textarea><br> <input type="submit" value="Отправить"> </form> |
<script type="text/javascript"> window.onload = function() { var codes = document.getElementById('codes').getElementsByTagName('a'), array = ['B', 'U', 'I'], i = codes.length; while(i--) { codes[i].onclick = function(i) { return function() { addBB('['+i+']', '[/'+i+']'); return false; }; }(array[i]); } }; function addBB(ltag, rtag) { var textarea = document.form.elements[0]; textarea.focus(); if(document.selection && document.selection.createRange) { sel = document.selection.createRange(); if (sel.parentElement() == textarea) sel.text = ltag + sel.text + rtag; } else if(typeof(textarea) != undefined) { var start = textarea.selectionStart, end = textarea.selectionEnd; textarea.value = textarea.value.substring(0, start) + ltag + textarea.value.substring(start, end) + rtag+ textarea.value.substring(end, textarea.value.length|0); } else textarea.value += ltag + rtag; } </script> <style type="text/css"> a { background: #F7F7F7; border: outset white 1px; color: #000; font: 10pt/10px sans-serif; padding: 0px 5px; text-decoration: none; } </style> <div id="codes"> <a href="#"><b>B</b></a> <a href="#"><u>U</u></a> <a href="#"><i>I</i></a> </div> <form name="form" action="" method="post"> <textarea cols="50" rows="5"></textarea> </form> |
monolithed, О_о чувак.. это как-то громоздко получилось))) Ведь можно как-то компактнее? Мой основной вопрос в том, как переменной select присвоить выделенный текст?
|
Цитата:
Цитата:
|
вот компактнее :)
http://iceman12.ru/obramlenie-bb-kod...elennyj-tekst/ |
Цитата:
если хоть немного попробуете напрячь мозг, то увидите, что для работы с BB-codes в моем коде всего одна функция addBB(), остальное - добавление обработчиков событий! В приведенном же вами примере если обработчики событий вынести из HTML, то код разрастется куда больше ;) |
monolithed, товарищ спасибо за помощь, но мне просто нужно переменной select присвоить выделенный текст, и узнать каким образом поставить фокус между двумя кодами, т.е. [тэг]сдесь[/тэг]
Я читал про focus() и искал про получение выделенноего текста, но в том, что я нашёл я ничё не понял.. |
Кто-нибудь может ответить?
|
|
Всем спасибо)) Всё получилось)
|
Часовой пояс GMT +3, время: 04:07. |