Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Javascriptové vložení tagu?

Dobrý večer už skoro 22! :-D Mam tu jeden script a nevim si s nim radit s javascriptem moc často nepracuji no tohle bych chtěl vyřešit:
editor.html - odkaz

Kod:

<form action="" id="clanek">
<img src="./b.png" onclick="hod('[b]sem napiš text který chceš tučně[/b]')" alt="Tučně" />
<img src="./i.png" onclick="hod('[i]sem napiš text který chceš kurzívou[/i]')" alt="Kurzíva" />
<img src="./u.png" onclick="hod('[u]podtržený text[/u]')" alt="Podtržené" />
<img src="./url.png" onclick="hod('[url]http://www.[/url]')" alt="www" />
<br /><textarea rows="6" cols="55" name="popis" ></textarea><br> 
<input type=submit value=Odeslat>
<script type="text/javascript">function hod(hod) { 
document.forms.clanek.popis.focus(); 
document.forms.clanek.popis.value= 
document.forms.clanek.popis.value+hod 
}</script>
</form>

Nevim ale jak zapsat aby když myší označíte daný kus textu a apk tam javascript vložil vpřed a vzad např.

[url][/url]

. Díky za každý nápad, někde jsem to viděl takže to asi de :-).

Předmět Autor Datum
function js_encloseText(text1,text2,textarea) {if(typeof(textarea.caretPos)!="undefined"&&textarea.c… poslední
Len tak 06.10.2009 11:24
Len tak
function js_encloseText(text1,text2,textarea)
{if(typeof(textarea.caretPos)!="undefined"&&textarea.createTextRange)
{var caretPos=textarea.caretPos,temp_length=caretPos.text.length;caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==' '?text1+caretPos.text+text2+' ':text1+caretPos.text+text2;if(temp_length==0)
{caretPos.moveStart("character",-text2.length);caretPos.moveEnd("character",-text2.length);caretPos.select();}
else
textarea.focus(caretPos);}
else if(typeof(textarea.selectionStart)!="undefined")
{var begin=textarea.value.substr(0,textarea.selectionStart);var selection=textarea.value.substr(textarea.selectionStart,textarea.selectionEnd-textarea.selectionStart);var end=textarea.value.substr(textarea.selectionEnd);var newCursorPos=textarea.selectionStart;var scrollPos=textarea.scrollTop;textarea.value=begin+text1+selection+text2+end;if(textarea.setSelectionRange)
{if(selection.length==0)
textarea.setSelectionRange(newCursorPos+text1.length,newCursorPos+text1.length);else
textarea.setSelectionRange(newCursorPos,newCursorPos+text1.length+selection.length+text2.length);textarea.focus();}
textarea.scrollTop=scrollPos;}
else
{textarea.value+=text1+text2;textarea.focus(textarea.value.length-1);}}

Príklad:
js_encloseText("{URL}","{/URL}", document.getElementById("popis"));

Zpět do poradny Odpovědět na původní otázku Nahoru