|
|
|
| Незнаю как это пояснить,но постараюсь
есть скрипт публикации новостей,в котором,можно использовать bbсоды,но юзерам приходится вводить их вручную
Как организовать -чтобы они нажали на ссылку(кнопку) и они автоматом появились в нужном месте.
Примерно как у вас тут на форуме при добавлении сообщений.
Если в падлу пояснять то киньте ссылку где про это моно прочитать. | |
|
|
|
|
|
|
|
для: levis
(14.12.2006 в 19:41)
| | Так примитивно, как на форуме, примера нет :) (хотя был ответ Cheорса на подобный вопрос со скриптом в 6-8 строчек, не работает в FF), но есть | |
|
|
|
|
|
|
|
для: 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>
|
спасибо ХЕОПСУ, до сих пор юзаю этот сркипт ))) | |
|
|
|
|
|
|
|
для: 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 заменить на своё текстовое поле | |
|
|
|
|
|
|
|
для: NIK
(14.12.2006 в 22:56)
| | Отсюда можно смело выбросить поддержку NN4.
Есть коды покороче, чем http://javascript.aho.ru/example/JsPrimeryCode-90.htm, но они имеют недостаток, что не выставляют выделение после действия.
Совсем строго если подойти к этой теме, то упомянутый код надо ещё увеличить на примерно 1 КБа, чтобы обойти баги в IE(4)5-7. Баги связаны с выделением переносов строк. Интересующимся могу дать ссылку на обсуждение и обход, но скрипт ББ-кодов с учётом этих багов не написан. Можем написать. | |
|
|
|