Просмотр поста

.
ramzes

как вариант, не идеален, но лучше я пока не придумал

function pastTags(text1, text2){

    var elrms = document.getElementsByTagName('textarea');
    if(elrms.length > 1){
        var curr = 0;
        for(i=0; i<elrms.length; i++){
            if(document.getElementsByTagName('textarea')[i].selectionEnd > 0){
                curr = i;
            }
        }
    }else{
        curr = 0;
    }

    var Textarea = document.getElementsByTagName('textarea')[curr];
    var rangeStart = Textarea.selectionStart;
    var rangeEnd = Textarea.selectionEnd;
    var formText = Textarea.value;
    var selectionLenght = rangeEnd - rangeStart;
    if(text2!=' '){
        var newText = formText.substr(0, rangeStart)+text1+formText.substr(rangeStart, selectionLenght)+text2+formText.substr(rangeStart + selectionLenght);
    }else{
        var newText = formText.substr(0, rangeEnd)+text1+text2+formText.substr(rangeEnd + selectionLenght);
    }
    Textarea.value = newText;
    var  moveRange = 0;
       moveRange = rangeEnd+text1.length+text2.length;

    Textarea.setSelectionRange(moveRange, moveRange);
}

работает точно лучше чем местный ужас