Посмотрите, как реализовано на форумском скрипте.
Или вот вариант.
| Код | <form action="#"> <input type="button" value="B" onclick="pasteTag('B');" /> <input type="button" value="I" onclick="pasteTag('I');" /> <input type="button" value="U" onclick="pasteTag('U');" /><br /> <textarea id="tarea" name="tarea" cols="75" rows="15"></textarea> </form>
|
| Код | function pasteTag(tag) { var tarea = document.getElementById("tarea"); tarea.focus(); if (typeof tarea.selectionStart == "number") { var selStart = tarea.selectionStart; var selEnd = tarea.selectionEnd; var selTxt = tarea.value.slice(selStart, selEnd); var txt = "[" + tag + "]" + selTxt + "[/" + tag + "]"; tarea.value = tarea.value.slice(0, selStart) + txt + tarea.value.slice(selEnd); tarea.selectionStart = selStart + ("[" + tag + "]").length; tarea.selectionEnd = tarea.selectionStart + selTxt.length; } else { var rng = document.selection.createRange(); var txt = rng.text + "[/" + tag + "]"; rng.text = "[" + tag + "]" + txt; rng.moveStart("character", -(txt.length)); rng.moveEnd("character", -(("[/" + tag + "]").length)); rng.select(); } }
|
|