el表达式中换行_textarea里显示换行<br>

在使用EasyUI的datagrid进行行内编辑时,textarea中的换行( )在保存到MySQL数据库后变为' '。在JS中处理textarea的值时,需要使用正则表达式一次性替换所有' '为'<br>'以正确显示换行。本文介绍了如何使用replace方法结合正则表达式实现批量替换,并提供了通用的JavaScript函数。同时,针对EL表达式将''转换为''导致的显示问题,提出了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在easyui中的datagrid中使用行内编辑时textarea的换行保存到mysql数据库为\n

在textarea中输入回车符

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

在js取textarea的时候:

如果用

var str = document.getElementByIdx_x_x("textarea").value;

str = str.replace("\r\n","<br>");

则只会将第一个\r\n替换成<br>,如何将所有n个\r\n替换成<br>呢?难道要无限个replace吗?

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

var reg=new RegExp("\r\n","g");

str= str.replace(reg,"\r\n");

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

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

var reg=new RegExp("<br>","g");

stt= str.replace(reg,"\r\n");

document.getElementByIdx_x_x("textarea").value=str;

更加详细的分析和应用可以参考JavaScript的replace方法与正则表达式结合应用讲解

下面是我写的2个函数 直接放到通用包中 以后使用可以替换

function replaceTextarea1(str){

var reg=new RegExp("\r\n","g");

var reg1=new RegExp(" ","g");

str = str.replace(reg,"<br>");

str = str.replace(reg1,"<p>");

return str;

}

function replaceTextarea2(str){

var reg=new RegExp("<br>","g");

var reg1=new RegExp("<p>","g");

str = str.replace(reg,"\r\n");

str = str.replace(reg1," ");

return str;

}

2. html中通

标签提交的内容会将回车转变成"\r\n",再将提交的内容放入

标签中显示时,回车符会还原成正常的换行。但当带有"\r\n"的字符串放在html的普通文本域中显示时 ,原来的换行效果会转变成空格,因此,需要在显示前将字符串中的"\r\n"替换为""。另外,还有一点需要注意:EL表达式会将""换行符转变成"",""分别对应"",也就是说,到了页面上,还是显示为""(呵呵,EL的智能化程度太高了),为了补救这一点,需要使用jsp标签(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值