Autor Zpráva
:)
Profil *
Ahoj lidi mám takový problém ss formulářem, udělal sem si klasickou TEXTAREU a chci do ní mít jednu věc ale nevím jak na to, určitě znáte třeba u PHPBB fora když si při psaní zprávy označíte část textu myší a nahoře máte tlačítka U I atd.. a když kliknete třeba a I tak se vám kolem toho textu v TEXTARENE který ste označili myší vloží onačený text, koukal sem sice do zdrojovoého kodu ale mají tam toho strašně moc a nedokážu to podle tohu udělat, jak na to prosím?
děkuju
zbystr
Profil *
http://tb-one.se/2008/01/11/apply-bbcode-with-javascript/
peta
Profil
http://peter-mlich.wz.cz/x/ww/js/jspriklady.htm
wysiwyg editor

zrovna to s oznacovanim textu mam doma, smula :) Tady tento pouziva vestavene editory prohlizecu. Bylo to neco jednoducheho zalozene na 'textarea kurzor'
http://www.volny.cz/peter.mlich/www.htm#mssub12
:)
Profil *
Tak sem našel toto a trochu si to upravil, ale ted to má jeden problém:

function getSelection(ta)
{ var bits = [ta.value,'','',''];
if(document.selection)
{ var vs = '#$%^%$#';
var tr=document.selection.createRange()
if(tr.parentElement()!=ta) return null;
bits[2] = tr.text;
tr.text = vs;
fb = ta.value.split(vs);
tr.moveStart('character',-vs.length);
tr.text = bits[2];
bits[1] = fb[0];
bits[3] = fb[1];
}
else
{ if(ta.selectionStart == ta.selectionEnd) return null;
bits=(new RegExp('([\x00-\xff]{'+ta.selectionStart+'})([\x00-\xff]{'+(ta.selecti onEnd - ta.selectionStart)+'})([\x00-\xff]*)')).exec(ta.value);
}
return bits;
}

function addPTag(ta,pTag,pkTag)
{ bits = getSelection(ta);
if(bits)
{
ta.value = bits[1] + '[' + pTag + ']' + bits[2] + '[/' + pkTag + ']' + bits[3];
}
}

funguje to bezvadně normálně označím text kliknu na čudlík a otaguje ho to, ale pokaždé po otagování to reloadne stránku, respektive to dělá ve FF a v Opeře v IE to funguje tak jak má a nic to nereloadne.....
nemůžu přijít na to jak se toho reloadu zbavit..?
(není to nijak fatální problém, funkčnost to neomezuje, ale je to celkem otravné a zbytečné)
díky

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: