javascript在一段文字中的光標處插入其他文字
更新時間:2007年08月26日 22:12:36 作者:
例如:一個文本框里有一段文字,我要通過點擊鼠標并且在相應的地方插入文本
我是這樣做的:先獲得文本框的值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>
您可能感興趣的文章:
相關文章
js在不刷新的情況下動態(tài)添加表格行[腳本之家強烈推薦]
這個功能一般用于,一些添加一些不確定的信息,由用戶自己添加,以前都是如果你添加了2個突然發(fā)現(xiàn)不夠,再點添加,就會發(fā)現(xiàn)原來的內容被替換了,下面的代碼就不會,比較不錯2008-10-10javascript 動態(tài)創(chuàng)建 Option選項
javascript動態(tài)創(chuàng)建Option選項,選擇月份后動態(tài)創(chuàng)建日期。2009-07-07同一個表單 根據(jù)要求遞交到不同頁面的實現(xiàn)方法小結
同一個表單 根據(jù)要求遞交到不同頁面的實現(xiàn)方法,就是好多網(wǎng)站,可以百度一個表單可以搜索音樂,圖片等2009-08-08