<% 
String strTest = "\r\n可以换行\r可以换行<br>可以换行"; 
%> 
<form name=modi METHOD="POST" onsubmit="javascript:submitModi()">    <textarea name="thesisBak" WRAP=OFF><%=strTest%>//可以换行     //这不可以换行:<br>换行\r换行     </textarea><br>     <input type=submit value=ok> 
</form> 
------------------------------------------------------ 
调用此方法,在下一页得到的tB中没有\r\n <script> 
function submitModi() 

url = "c.jsp?tB=" +  CovertCRLFToBR(document.modi.thesisBak.value);//方法一 
//url = "c.jsp?tB=" +  document.modi.thesisBak.value.replace("\r\n","\\r\\n");//方法二:stringObj.replace(待查子串, 替换子串) 
window.open(url,'','toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=100,height=100'); 
} :...... 
 还有: 
javascript中的替换方法: 
方法一: 
    function CovertCRLFToBR(s)  
    {  
     var i;  
     var s2 = s;  
      
     while(s2.indexOf("\r\n")>0)  
     {  
 i = s2.indexOf("\r\n");  
 s2 = s2.substring(0, i) + "\\r\\n" + s2.substring(i + 2, s2.length);  
 }  
 return s2;  
    }  
方法二: 
    stringObj.replace(待查子串, 替换子串) 对于escape编码(还须解),太麻烦,还没搞懂:

解决方案 »

  1.   

    不要通过这种方式url = "c.jsp?tB=" + document.modi.thesisBak.value; 传值,这样换行的数据不能在新开的窗口显示,你可以直接打开不带tB参数的url,然后在body的onload事件里读取父窗口的document.modi.thesisBak.value的值
      

  2.   

    同意楼上
    用window.open打开窗口的话,不一定通过url来传值的