<HTML> 
<HEAD>  
<SCRIPT>  
function insertAtCaret (textEl, text)
{
    textEl.focus();
    var s = window.clipboardData.getData("Text"); //先保留老剪贴板里的内容
    window.clipboardData.setData("Text",text); //给剪贴板赋新值
    document.execCommand('Paste');   //将剪贴板里的新值插入文本框
    window.clipboardData.setData("Text",s);  //将老剪贴板里的内容赋还剪贴板
}  
</SCRIPT>  
</HEAD>  
<BODY>  
<FORM NAME="aForm"> 
<TEXTAREA NAME="aTextArea" ROWS="5" COLS="80" WRAP="soft"> 这是例子,你可以在这里添加文字、插入文字。 </TEXTAREA>  
<BR>  
<INPUT TYPE="text" NAME="aText" SIZE="80" VALUE="我要在光标处插入这些文字"><BR> 
<INPUT TYPE="button" VALUE="我要在光标处插入上面文本框里输入的文字!" ONCLICK="insertAtCaret(this.form.aTextArea, this.form.aText.value);"> 
</FORM> 
</BODY> 
</HTML>

解决方案 »

  1.   

    <HTML> 
    <HEAD>  
    <SCRIPT>  
    function storeCaret (textEl) { 
    if (textEl.createTextRange)  
    textEl.caretPos = document.selection 
    .createRange().duplicate();  

    function insertAtCaret (textEl, text) { 
    if (textEl.createTextRange && textEl.caretPos) { 
    var caretPos = textEl.caretPos; 
    caretPos.text =caretPos.text.charAt(caretPos.text.length - 1) =="" ?text + "" : text;  
    }  
    else  
    textEl.value = text; 
    }  
    </SCRIPT>  
    </HEAD>  
    <BODY>  
    <FORM NAME="aForm"> 
    <TEXTAREA NAME="aTextArea" ROWS="5" COLS="80" WRAP="soft" ONSELECT="storeCaret(this);" ONCLICK="storeCaret(this);" ONKEYUP="storeCaret(this);"> 这是例子,你可以在这里添加文字、插入文字。 </TEXTAREA>  
    <BR>  
    <INPUT TYPE="text" NAME="aText" SIZE="80" VALUE="我要在光标处插入这些文字"><BR> 
    <INPUT TYPE="button" VALUE="我要在光标处插入上面文本框里输入的文字!" ONCLICK="insertAtCaret(this.form.aTextArea, this.form.aText.value);"> 
    </FORM> 
    </BODY> 
    </HTML>
      

  2.   

    错在这一句caretPos.text =caretPos.text.charAt(caretPos.text.length - 1) =='' '' ?text + '' '' : text; 你连用四个单引号干什么?