JavaScript实现文本框文字选中与动态插入功能

作者:像素漫游

时间:2026-10-29

浏览:87

本文介绍如何使用JavaScript在Web页面中获取用户选中的文本框内容,并将指定标签或文字动态插入到指定位置。通过document.selection.createRange()获取选中范围,结合ASP.NET TextBox控件实现富文本编辑器的基础功能,如加粗或插入表情。

文章目录

JavaScript实现文本框文字选中与动态插入功能

相关脚本代码实现如下:

<script language="javascript" src="js/settags.js"></script>
定义函数 AppTag(tagcode)
{  
将传入的标签代码追加到名为 PostMessage 的表单中 Message 文本框的值末尾;
}  
定义函数 InsertTag(tagbegin, tagend)
{  
首先判断当前浏览器是否支持 document.selection 对象,且选区类型是否为 "Text";
若满足条件,则通过 document.selection.createRange() 创建选区对象;
从选区对象中获取当前选中的文本内容,赋值给变量 ch_text;
将选区文本替换为:开始标签 + 选中文字 + 结束标签;
 }   
否则(即未选中文字或不支持该API);
 {  
document.PostMessage.Message.value=tagbegin+document.PostMessage.Message.value+tagend;
最后使 Message 文本框获得焦点;
 }  
}  
</script>
 

调用方式说明:



通过执行操作的图标按钮触发相应动作;


<a href="javascript:AppTag('[ImgFace1]')"><img src="./Images/Face/Face1.gif" border="0"></a>


<a href="javascript:InsertTag('[B]','[/B]')"><img src="./Images/tags/EditorBold.gif" alt="Bold" border="0"></a>


其中 [ImgFace1]、[B] 以及 [/B] 代表需要插入的具体文字或标签内容;


关键步骤:var range = document.selection.createRange();


关键步骤:var ch_text=range.text;


上述代码用于获取文本框中被用户选中的文字部分;



被操作的文本框定义如下:


<asp:TextBox ID="Message" Runat="server" MaxLength="100" TextMode="MultiLine" Rows="15" Width="100%" />


实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章