Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: bb коды
 
 автор: levis   (14.12.2006 в 19:41)   письмо автору
 
 

Незнаю как это пояснить,но постараюсь

есть скрипт публикации новостей,в котором,можно использовать bbсоды,но юзерам приходится вводить их вручную
Как организовать -чтобы они нажали на ссылку(кнопку) и они автоматом появились в нужном месте.
Примерно как у вас тут на форуме при добавлении сообщений.

Если в падлу пояснять то киньте ссылку где про это моно прочитать.

   
 
 автор: 12345   (14.12.2006 в 21:17)   письмо автору
 
   для: levis   (14.12.2006 в 19:41)
 

Так примитивно, как на форуме, примера нет :) (хотя был ответ Cheорса на подобный вопрос со скриптом в 6-8 строчек, не работает в FF), но есть

   
 
 автор: DEM   (14.12.2006 в 22:33)   письмо автору
 
   для: levis   (14.12.2006 в 19:41)
 


<SCRIPT>
function tag(text1, text2)
{
   if ((document.selection))
   {
     document.edit.articles.focus();
     document.edit.document.selection.createRange().text = text1+document.edit.document.selection.createRange().text+text2;
   }
   else
   {
     document.edit.articles.value += text1+text2;
   }
}

</SCRIPT>


спасибо ХЕОПСУ, до сих пор юзаю этот сркипт )))

   
 
 автор: NIK   (14.12.2006 в 22:56)   письмо автору
 
   для: DEM   (14.12.2006 в 22:33)
 

я юзаю свой + из кусков IPB, очень-очень старый, но работает везде :)


isDOM = document.getElementById //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
  isOpera = isOpera5=window.opera && isDOM //Opera 5+
  isOpera6 = isOpera && window.print //Opera 6+
  isOpera7 = isOpera && document.readyState //Opera 7+
  isMSIE = document.all && document.all.item && !isOpera //Microsoft Internet Explorer 4+
  isMSIE5 = isDOM && isMSIE //MSIE 5+
  isNetscape4 = document.layers //Netscape 4.*
  isMozilla = isDOM && navigator.appName=="Netscape" //Mozilla или Netscape 6.*
  function InsBBCode (tag) {
    if(isMSIE || isOpera7 || isMSIE5) {
      obj_ta=document.pub.content;
      obj_ta.focus();
      var sel=document.selection;
      var rng=sel.createRange();
      rng.colapse;
      var podst="["+tag+"]"+rng.text+"[/"+tag+"]";
      rng.text=podst;
    }

    if(isMozilla) {
      var ibTag = "["+tag+"]";
      var ibClsTag = "[/"+tag+"]";
      var obj_ta = document.pub.content;
      var ss = obj_ta.selectionStart;
      var st = obj_ta.scrollTop;
      var es = obj_ta.selectionEnd;
      if (es <= 2) {
        es = obj_ta.textLength;
      }
      var start = (obj_ta.value).substring(0, ss);
      var middle = (obj_ta.value).substring(ss, es);
      var end = (obj_ta.value).substring(es, obj_ta.textLength);
      if (obj_ta.selectionEnd - obj_ta.selectionStart > 0) {
        middle = ibTag + middle + ibClsTag;
      } else {
        middle = ibTag + middle + ibClsTag;
      }
      obj_ta.value = start + middle + end;
    }
  }


document.pub.content заменить на своё текстовое поле

   
 
 автор: 12345   (15.12.2006 в 13:54)   письмо автору
 
   для: NIK   (14.12.2006 в 22:56)
 

Отсюда можно смело выбросить поддержку NN4.

Есть коды покороче, чем http://javascript.aho.ru/example/JsPrimeryCode-90.htm, но они имеют недостаток, что не выставляют выделение после действия.

Совсем строго если подойти к этой теме, то упомянутый код надо ещё увеличить на примерно 1 КБа, чтобы обойти баги в IE(4)5-7. Баги связаны с выделением переносов строк. Интересующимся могу дать ссылку на обсуждение и обход, но скрипт ББ-кодов с учётом этих багов не написан. Можем написать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования