您的位置:首页 > Web前端 > javascript > 正文

如何处理textarea换行

更多 时间:2013-11-24 类别:Web前端 浏览量:12159

如何处理textarea换行

如何处理textarea换行

textarea换行时主要遇到的有以下几个问题

 

1、在textarea中输入回车符 在js读取textarea中的值有\r\n然后到业务层转换到string中就有可能变成空格形式然后被存入数据库,当在取出此值的时候则会变成空格的形式。因此我们需要将不显示的\r\n替换一下。
 

原因:

这是因为textarea里输入和车出现的是编码vbCrlf,页面读取数据库显示的内容必须有<br/>才可以显示换行,所以我们要做的就是在存入数据时把vbCrlf换成<br/>。

处理方式:

用replace和正则表达式结合,一次替换所有的\r\n。
 

var reg=new RegExp("\r\n","g");
str= str.replace(reg,"<br>");

这样str中所有的\r\n就替换成<br>了.然后可以将其存入数据库。

在取出的时候 只用将值在替换回来即可

var reg=new RegExp("<br>","g");
stt= str.replace(reg,"\r\n");
document.getElementById("textarea").value=str;


 

 2. EL表达式会将"</br>"换行符转变成"&lt;/br&gt;","&lt;"和"&gt;"分别对应"<"和">",也就是说,到了页面上,还是显示为"</br>",为了补救这一点,需要使用jsp标签(<%= %>)来进行显示。

所以当需要在普通文本域中显示由<textarea>提交的内容时,可以直接在数据库里存储不经过处理的字符串,而只在显示前将"\r\n"替换为"</br>",然后在页面上使用<%= %>来显示这些内容.



3. 如何将通过textbox提交到数据库中的空格和回车正确显示出来


public string MyReplace(string mystr)
{
if(mystr == null || mystr == "" )
{
return("&nbsp;");
}
else
{
mystr = mystr.Replace("\n\r","<br>");
mystr = mystr.Replace("\r","<br>");
mystr = mystr.Replace("\t","  ");
return(mystr);
}
}

您可能感兴趣