在easyui中的textarea编辑时,textarea的换行保存到sql-server数据库为\n
在textarea中输入回车符 在js读取textarea中的值有\n然后到业务层转换到string中就有可能变成空格形式然后被存入数据库,当在取出此值的时候则会变成空格的形式,因此我们需要将不显示的\n替换一下。
用js 向数据库存值的时候,把\n 替换一下。
在js取textarea的时候:
如果用
var str = document.getElementById(“textarea”).value;
str = str.replace(“\n”,”<br>”);
则只会将第一个\r\n替换成<br>,如何将所有n个\n替换成<br>呢?难道要无限个replace吗?
其实不用,replace可以和正则表达式结合,一次替换所有的\r\n。
var Role_Remark = $(“#Role_Remark”).val();
var reg = new RegExp(“\n”, “g”); //正则 “g” 是全局
Role_Remark = Role_Remark.replace(reg, “#br#”); //替换, 注意
录入数据时,有可能被认定为恶意字符导致数据存储失败,所以我改用 #br#
=================
然后等到 页面取值的时候:再将字符串中的 #br# 替换成\n
var str = “@_sys_set_Role_source.Role_Remark”;
var reg = new RegExp(“#br#”, “g”);
stt = str.replace(reg, “\n”);
$(“textarea[name=Role_Remark]”).val(stt)