easyui textarea回车导致datagrid 数据无法展示的问题

摘要:
easyui的数据网格中使用了文本区域换行。在行中编辑时,文本区域换行保存到MySQL数据库。如果在textarea中输入回车,则可以读取js中textarea的值,然后在业务层中将其转换为字符串。它可能变成空白,然后存储在数据库中。检索此值时,它将变为空白。因此,我们需要替换未显示的值。varreg=新RegExp;str=字符串。代替这样,str中的所有项都将替换为。然后可以将它们存储在数据库中。
textarea换行

在easyui中的datagrid中使用行内编辑时textarea的换行保存到mysql数据库为
在textarea中输入回车符 在js读取textarea中的值有 然后到业务层转换到string中就有可能变成空格形式然后被存入数据库,当在取出此值的时候则会变成空格的形式,因此我们需要将不显示的 替换一下。

  在js取textarea的时候:

  如果用

var str = document.getElementById("textarea").value; 
str = str.replace(" ","<br>"); 

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

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

var reg=new RegExp(" ","g"); 
str= str.replace(reg," "); 

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

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

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

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

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

function replaceTextarea1(str){
var reg=new RegExp(" ","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," "); 
str = str.replace(reg1," "); 

return str; 


 2. html中通<textarea>标签提交的内容会将回车转变成" ",再将提交的内容放入<textarea>标签中显示时,回车符会还原成正常的换行。

但当带有" "的字符串放在html的普通文本域中显示时 ,原来的换行效果会转变成空格,因此,需要在显示前将字符串中的" "替换为"</br>"。

另外,还有一点需要注意:EL表达式会将"</br>"换行符转变成"&lt;/br&gt;","&lt;"和"&gt;"分别对应"<"和">",也就是说,到了页面上,还是显示为"</br>"(呵呵,EL的智能化程度太高了),为了补救这一点,需要使用jsp标签(<%= %>)来进行显示。

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



3. 如果将通过textbox提交到数据库中的空格和回车正确显示出来
public   string   MyReplace(string   mystr)   
  {   
  if(mystr   ==   null   ||   mystr   ==   ""   )   
  {   
  return("&nbsp;");   
  }   
  else   
  {   
  mystr   =   mystr.Replace(" ","<br>");   
  mystr   =   mystr.Replace(" ","<br>");   
  mystr   =   mystr.Replace(" ","  ");   
  return(mystr);   
  }   
  }

免责声明:文章转载自《easyui textarea回车导致datagrid 数据无法展示的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java web后台调用自定义arctoolbox(开发的程序放到tomcat容器运行)依赖注入框架Autofac的简单使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

(转)SQLSERVER表分区的介绍(一)

下面进入正题吧,很多时候当单张数据表的数据量比较大的时候比如千万级别条记录、上亿级别记录,如果不做优化,那么查询的效率大家清楚。 有经验的人会通过各种手段做优化,其中表分区就是其中一种手段。 个人对表分区的口语化解释:把一张表分成几个区域 例如:一张业务表,有一个字段是月份或者年份,那么可以按照月份/年份来分区,当客户要查询某个月份/年份的数据的时候就到那...

Android JNI和NDK学习(08)JNI实例一 传递基本类型数据

Android JNI和NDK学习(08)--JNI实例一 传递基本类型数据 本文介绍在Java和JNI之间相互传递基本数据类型的方法。 由于前面已经详细介绍搭建和建立NDK工程的完整流程(参考“静态实现流程”或“动态实现流程”),这里就不再介绍流程;而是将重点放在说明如何实现Java和JNI之间相互传递基本数据。 1 建立eclipse工程 建立工程Nd...

使用DbUp完成数据库更新

DbUp可以帮我们创建数据库,通过脚本文件创建表、添加数据;并可通过新创建脚本文件升级现有数据库 每个脚本文件只会执行一次,如果需要修改表结构或添加数据,添加新sql脚本文件,而不要修改原文件。DbUp通过向目标数据库中添加表SchemaVersions,存储脚本文件执行记录 脚本文件0001、0002、0003....按顺序执行 安装: dbup-cor...

progit 之 git 起步(1)

了解git为什么这么流行,为什么应该使用git 以及 如何设置及使用git 关于版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。有了它就可以将文件回溯到之前的状态,甚至将整个项目都回溯到过去某个时间点的状态。 本地版本控制系统 许多人习惯用复制的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做的唯一好处...

【美国大学生数学建模比赛】2020C题(总结和参赛论文)百度云请自取

好消息:相关论文word版本已经上传至百度云,请三连后自取哈! 链接: https://pan.baidu.com/s/1k5V7D_PQ_tmb6kAmg-NhVg 密码: kj6u 【MCM】2020C题(总结和论文分享) 前言:QAQ ,数学建模美赛竟然在两个多月的疫情中结束了,美赛的这段时间效率属实高,仿佛是这两个月没有学习一下子迸发出的潜力一...

MongoDB中导出数据为csv文件

1. 打开命令行; 2. 输入如下指令(确保数据库是开着的,下面的数据库名称和集合名称以及域的名称可以根据需求修改) mongoexport -d myDB -c user -f _id,name,password,adress --csv -o ./user.csv 3. 说明: mongoexport -d myDB(myDB修改成...