Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вставка бб кодов
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Вставка бб кодов

Страниц (1): [1]
 

1. Roler - 09 Августа, 2008 - 12:30:59 - перейти к сообщению
Перелопатил кучу скриптов, ничего не работает. Вот наиболее нормальный на мой взгляд, взял из одной cms

CODE (text):
скопировать код в буфер обмена
  1. function addText(elname, wrap1, wrap2) {
  2.         if (document.selection) { // for IE
  3.                 var str = document.selection.createRange().text;
  4.                 document.forms['inputform'].elements[elname].focus();
  5.                 var sel = document.selection.createRange();
  6.                 sel.text = wrap1 + str + wrap2;
  7.                 return;
  8.         } else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
  9.                 var txtarea = document.forms['inputform'].elements[elname];
  10.                 var selLength = txtarea.textLength;
  11.                 var selStart = txtarea.selectionStart;
  12.                 var selEnd = txtarea.selectionEnd;
  13.                 var oldScrollTop = txtarea.scrollTop;
  14.                 //if (selEnd == 1 || selEnd == 2)
  15.                 //selEnd = selLength;
  16.                 var s1 = (txtarea.value).substring(0,selStart);
  17.                 var s2 = (txtarea.value).substring(selStart, selEnd)
  18.                 var s3 = (txtarea.value).substring(selEnd, selLength);
  19.                 txtarea.value = s1 + wrap1 + s2 + wrap2 + s3;
  20.                 txtarea.selectionStart = s1.length;
  21.                 txtarea.selectionEnd = s1.length + s2.length + wrap1.length + wrap2.length;
  22.                 txtarea.scrollTop = oldScrollTop;
  23.                 txtarea.focus();
  24.                 return;
  25.         } else {
  26.                 insertText(elname, wrap1 + wrap2);
  27.         }
  28. }



Пытаюсь использовать его так
CODE (text):
скопировать код в буфер обмена
  1. <?
  2. echo"<html><head>";
  3. echo'<script type="text/javascript" src="jscript.js"></script>
  4. </head><body>';
  5. echo"<form method=post action=#><input type=button name=put value='Put' onclick=\"addText('pole', '[url]', '[/url]');\" ><br><br>
  6. <textarea name=pole></textarea></form></body></html>";
  7. ?>


Но не работает. Как это сделать то? Мне нужна вставка тегов в начале выделения, и в конце, и хорошо бы ещё одну функцию, просто для вставки тега в месте выделения.

 

Powered by ExBB FM 1.0 RC1