1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
   |  
function insertTag(startTag, endTag, textareaId, tagType) {
    var field  = document.getElementById(textareaId);
    var scroll = field.scrollTop;
    field.focus();
 
    if (window.ActiveXObject) { // C'est IE
        var textRange = document.selection.createRange();           
        var currentSelection = textRange.text;
 
        textRange.text = startTag + currentSelection + endTag;
        textRange.moveStart("character", -endTag.length - currentSelection.length);
        textRange.moveEnd("character", -endTag.length);
        textRange.select();    
    } else { // Ce n'est pas IE
        var startSelection   = field.value.substring(0, field.selectionStart);
        alert(startSelection);
        var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
        var endSelection     = field.value.substring(field.selectionEnd);
 
        field.value = startSelection + startTag + currentSelection + endTag + endSelection;
        field.focus();
        field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
    }
 
    field.scrollTop = scroll; // et on redéfinit le scroll.
} | 
Partager