javascript在一段文字中的光標(biāo)處插入其他文字
更新時間:2007年08月26日 22:12:36 作者:
例如:一個文本框里有一段文字,我要通過點擊鼠標(biāo)并且在相應(yīng)的地方插入文本
我是這樣做的:先獲得文本框的值TextArea.Value,然后.TextArea.Value+其他文本
<script type="text/javascript">
function setCaret(textObj){
if(textObj.createTextRange){
textObj.caretPos=document.selection.createRange().duplicate();
}
}
function insertAtCaret(textObj,textFeildValue){
if(document.all){
if(textObj.createTextRange&&textObj.caretPos){
var caretPos=textObj.caretPos;
caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==''?textFeildValue+'':textFeildValue;
}else {
textObj.value=textFeildValue;
}
}else {
if(textObj.setSelectionRange){
var rangeStart=textObj.selectionStart;
var rangeEnd=textObj.selectionEnd;
var tempStr1=textObj.value.substring(0,rangeStart);
var tempStr2=textObj.value.substring(rangeEnd);
textObj.value=tempStr1+textFeildValue+tempStr2;
}else {
alert("This version of Mozilla based browser does not support setSelectionRange");
}
}
}
</script>
<form id="form1" action="" onsubmit="" method="post" enctype="text/plain">
<p>
<textarea name="tarea" rows="" cols="" style="width:300px;height:120px;" onselect="setCaret(this);" onclick="setCaret(this);" onkeyup="setCaret(this);">
Dnew.cn Dnew.cn
</textarea>
<br/><br/>
<input type="text" name="textfield" style="width:220px;" value="插入FireFox"/>
<br/>
<input type="button" value="插入" onclick="insertAtCaret(this.form.tarea,this.form.textfield.value);"/>
</p>
</form>
我是這樣做的:先獲得文本框的值TextArea.Value,然后.TextArea.Value+其他文本
<script type="text/javascript">
function setCaret(textObj){
if(textObj.createTextRange){
textObj.caretPos=document.selection.createRange().duplicate();
}
}
function insertAtCaret(textObj,textFeildValue){
if(document.all){
if(textObj.createTextRange&&textObj.caretPos){
var caretPos=textObj.caretPos;
caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==''?textFeildValue+'':textFeildValue;
}else {
textObj.value=textFeildValue;
}
}else {
if(textObj.setSelectionRange){
var rangeStart=textObj.selectionStart;
var rangeEnd=textObj.selectionEnd;
var tempStr1=textObj.value.substring(0,rangeStart);
var tempStr2=textObj.value.substring(rangeEnd);
textObj.value=tempStr1+textFeildValue+tempStr2;
}else {
alert("This version of Mozilla based browser does not support setSelectionRange");
}
}
}
</script>
<form id="form1" action="" onsubmit="" method="post" enctype="text/plain">
<p>
<textarea name="tarea" rows="" cols="" style="width:300px;height:120px;" onselect="setCaret(this);" onclick="setCaret(this);" onkeyup="setCaret(this);">
Dnew.cn Dnew.cn
</textarea>
<br/><br/>
<input type="text" name="textfield" style="width:220px;" value="插入FireFox"/>
<br/>
<input type="button" value="插入" onclick="insertAtCaret(this.form.tarea,this.form.textfield.value);"/>
</p>
</form>
您可能感興趣的文章:
- JavaScript實現(xiàn)的類字典插入或更新方法實例
- JavaScript數(shù)組前面插入元素的方法
- 深入理解javascript動態(tài)插入技術(shù)
- JavaScript字符串插入、刪除、替換函數(shù)使用示例
- JavaScript插入動態(tài)樣式實現(xiàn)代碼
- javascript算法學(xué)習(xí)(直接插入排序)
- JavaScript 點擊插入文字
- JavaScript talbe表中指定位置插入一行的實現(xiàn)代碼 腳本之家修正版
- javascript實現(xiàn) 在光標(biāo)處插入指定內(nèi)容
- JavaScript實現(xiàn)將文本框的值插入指定位置的方法
相關(guān)文章
js在不刷新的情況下動態(tài)添加表格行[腳本之家強(qiáng)烈推薦]
這個功能一般用于,一些添加一些不確定的信息,由用戶自己添加,以前都是如果你添加了2個突然發(fā)現(xiàn)不夠,再點添加,就會發(fā)現(xiàn)原來的內(nèi)容被替換了,下面的代碼就不會,比較不錯2008-10-10js模擬權(quán)限選擇實現(xiàn)代碼(select操作)
權(quán)限選擇頁面,選擇、撤回、全部選擇、全部撤回2012-02-02javascript 動態(tài)創(chuàng)建 Option選項
javascript動態(tài)創(chuàng)建Option選項,選擇月份后動態(tài)創(chuàng)建日期。2009-07-07同一個表單 根據(jù)要求遞交到不同頁面的實現(xiàn)方法小結(jié)
同一個表單 根據(jù)要求遞交到不同頁面的實現(xiàn)方法,就是好多網(wǎng)站,可以百度一個表單可以搜索音樂,圖片等2009-08-08