2014-01-14 42 views
0

我有以下的JavaScript,它允許我將某些文本追加到textarea。但是,這隻能附加到textarea的末尾。Javascript將追加標籤添加到選定區域

如果我在textarea中存在文本,然後點擊該區域中的某個位置,當我單擊按鈕時,我希望標籤出現在放置光標的地方。

有什麼想法我可以做到這一點?

感謝

<script type="text/javascript"> 
function formatText(tag) { 
    var Field = document.getElementById('mytextarea'); 
    var val = Field.value; 
    var selected_txt = val.substring(Field.selectionStart, Field.selectionEnd); 
    var before_txt = val.substring(0, Field.selectionStart); 
    var after_txt = val.substring(Field.selectionEnd, val.length); 
    Field.value += '[' + tag + ']' + '[/' + tag + ']'; 
} 
</script> 

<form name="my_form"> 
    <textarea id="mytextarea" style="width:600px;height:200px;"></textarea><br /> 

    <input type="button" value="Bold" onclick="formatText ('B');" /> 
    <input type="button" value="Italic" onclick="formatText ('I');" /> 
    <input type="button" value="Underline" onclick="formatText ('U');" /> 

</form> 

回答

0

你必須Concat的所有部件

Field.value = before_txt + '[' + tag + ']' + selected_txt + '[/' + tag + ']' + after_txt;