Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Как правильно написать функцию bbcode что бы


Автор: vitaxaprog111 23.8.2010, 15:02
подскажите как правильно написать функцию ВВкодов,чтобы при вставке ВВкода курсор всегда находился между тегами ?

Автор: Amphiluke 23.8.2010, 16:20
Посмотрите, как реализовано на форумском скрипте.

Или вот вариант.
Код

<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();
    }
}

Автор: vitaxaprog111 23.8.2010, 16:55
Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)