Autor Zpráva
Lexis Doleandr
Profil *
Zdravím, snažím se vytvořit si vlastní chat a chci tam mít "bbcode".
To vytvořit umím, ale jak udělám to, aby když si nakliknu na přidání např (font:cervena)(/font) tak abych psal (font:cervena)TADY(/font). Když na si to tom normálně nakliknu, tak píši (font:cervena)(/font)TADY.
Děkuji všem mnohokrát
ShiraNai7
Profil
Musíš nastavit pozici na aktuální pozice mínus 7 (počet znaků uzavíracího tagu).
Jak manipulovat se pozicí v editaci textu se řešilo miliónkrát.
Lexis Doleandr
Profil *
ShiraNai7:
Děkuji, ale mohl by jste mi to trošku vysvětlit, abych se v tom trošku orientoval?

function doGetCaretPosition (ctrl) {
	var CaretPos = 0;	// IE Support
	if (document.selection) {
	ctrl.focus ();
		var Sel = document.selection.createRange ();
		Sel.moveStart ('character', -ctrl.value.length);
		CaretPos = Sel.text.length;
	}
	// Firefox support
	else if (ctrl.selectionStart || ctrl.selectionStart == '0')
		CaretPos = ctrl.selectionStart;
	return (CaretPos);
}
function setCaretPosition(ctrl, pos){
	if(ctrl.setSelectionRange)
	{
		ctrl.focus();
		ctrl.setSelectionRange(pos,pos);
	}
	else if (ctrl.createTextRange) {
		var range = ctrl.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}

Děkuji
Camo
Profil
Skús si prečítať toto: http://www.quirksmode.org/dom/range_intro.html
Lexis Doleandr
Profil *
Camo:
Bohužel, tak dobrý angličtinář nejsem a google to přeloží nesrozumitelně.

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:

0