你没发现你在 getActiveText 函数里面根本无法获正确的 text 

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
    <HTML> 
      <HEAD> 
       <TITLE> New Document  </TITLE> 
       <META NAME="Generator" CONTENT="EditPlus"> 
       <META NAME="Author" CONTENT=""> 
       <META NAME="Keywords" CONTENT=""> 
       <META NAME="Description" CONTENT=""> 
      </HEAD>   <BODY> 
      <form name=uQForm > 
       <input type=button onclick=bold() alt=粗体 value=变粗 />  
           
          &nbsp; <TEXTAREA id=atc_content onkeydown=quickpost(event) style="OVERFLOW: auto" onfocus=getActiveText(this) onclick=getActiveText(this) tabIndex=2 name=q_content rows=10 cols=55 onchange=getActiveText(this)>王策是什么 </textarea> 
    </form> 
      </BODY> 
    </HTML> 
    <script> 
    var text = ""; 
    function AddText(NewCode)  

    if (document.uQForm.q_content.createTextRange && document.uQForm.q_content.caretPos)  

     alert(text); 
    var caretPos = document.uQForm.q_content.caretPos; 
    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode; 
    }  
    else   

    document.uQForm.q_content.value+=NewCode 

    setfocus(); 
    } function setfocus() 

    document.uQForm.q_content.focus(); 

    function bold() { 
    if (document.selection && document.selection.type == "Text") { 
    AddTxt=""+text+""; 
    AddText(AddTxt); 
    } else { 
    txt=prompt('文字将被变粗.','文字'); 
    if (txt!=null) { 
    AddTxt=""+txt; 
    AddText(AddTxt); 
    AddTxt=""; 
    AddText(AddTxt); 



    function quickpost(event){ 
    if((event.ctrlKey && event.keyCode == 13) ¦ ¦(event.altKey && event.keyCode == 83)) 

     cnt++; 
     if(cnt==1){ 
     this.document.FORM.submit(); 
     }else{ 
     alert('Submission Processing. Please Wait'); 
     } 


    function getActiveText(selectedtext) { 
      text = (document.all) ? document.selection.createRange().text : document.getSelection(); 
      
      if (selectedtext.createTextRange) { 
        selectedtext.caretPos = document.selection.createRange().duplicate(); 
      } 
    return true; 

    </script>