记一次textarea标签的使用

开发中遇到这么个问题。

表单中要用textarea来填写一些东西保存到数据库,textarea中的内容可能会涉及到换行,然后点击保存按钮,在后台调试的时候发现传过来的换行都变成了"/r/n",但是存进数据库的时候这些字符全部都给自动过滤掉了,所以存到数据库中的东西都是没有格式的一整段。这样的话取出来肯定也是一整段,不行

所以问题1来了:如何保存换行符到数据库?

function save(){
  //日程安排中的textarea换行符换成能保存到数据库中的<br>,/r/n是保存到数据库中的时候会自动去掉
  $("*[id^=scheduleVOs]").each(function(){
  var val=$(this).val().replace(/\n|\r\n/g,"<br/>");
  $(this).val(val);

}

ok,这样的话,保存到数据库中的换行符就被替换成了<br/>,然后这种东西如果直接在页面上读取是没有问题的,会自动在html中换行

但是,如果是对刚才保存的表单进行编辑的话,那么刚才内容还会再次读取到textarea中来,这样就又有问题了,textarea会原样输出<br/>而不会自动换行

然后,问题2又来了:怎样不让textarea把<br/>原样输出,而是自动换行显示?

String arrangement=abcSchedule.getSchArrangement().replace("<br/>", "&#10;");
abcSchedule.setSchArrangement(arrangement);

哈哈,在java中这样做,将<br/>换成转义字符"&#10;",然后再在textarea中显示,就万事大吉啦~~~

附上查找资料时发现的这几个,备份一下:

&#13 回车

&#10 换行

&#0 空

&#8退格

还发现了这个

同样的,html中title属性换行也是用这个&#10

eg:<div title="123& #10;456">text</div> 

posted @ 2016-09-08 11:16  年轻就是财富!  阅读(1169)  评论(0)    收藏  举报