textarea 通过 json在各浏览器的显示回车换行的问题
2011-09-25 13:17
906 查看
作者:yan
最终方案:
1、数据库存放回车换行代码为“\r\n”;
2、由于json里不能直接放\r\n,可以将其替换成<br/>传到页面;
3、在页面上将<br/>换回\r\n;最重要的地方是:在textarea显示时,不同浏览器处理方式不同,看代码:
var strRemark="";
if (Sys.ie){
strRemark=data.remark.replace(/<br\/>/gi,"\r");//ie下,经过下面的text(val)编码后,\r会变成\r\n;如果是\r\n经过编码后变\r\n\n
}else{
strRemark=data.remark.replace(/<br\/>/gi,"\r\n");//在其它浏览器下,经过下面的text(val)编码后,\r\n还是\r\n
}
//jquery的text(val)方法将回车换行符替换成相应的HTML实体,注意不要用html(val),那在IE下是显示不到textarea的
$("#remark").text(strRemark);
4、但是注意,如果直接在textarea里面打回车的话, IE和其它浏览器都会将回车解析为\r\n,(表单传到后台的\r\n,我这里是用struts2)。
5、如果不用jquery的text(val),不知怎么对textarea的值进行编码赋值?
最终方案:
1、数据库存放回车换行代码为“\r\n”;
2、由于json里不能直接放\r\n,可以将其替换成<br/>传到页面;
3、在页面上将<br/>换回\r\n;最重要的地方是:在textarea显示时,不同浏览器处理方式不同,看代码:
var strRemark="";
if (Sys.ie){
strRemark=data.remark.replace(/<br\/>/gi,"\r");//ie下,经过下面的text(val)编码后,\r会变成\r\n;如果是\r\n经过编码后变\r\n\n
}else{
strRemark=data.remark.replace(/<br\/>/gi,"\r\n");//在其它浏览器下,经过下面的text(val)编码后,\r\n还是\r\n
}
//jquery的text(val)方法将回车换行符替换成相应的HTML实体,注意不要用html(val),那在IE下是显示不到textarea的
$("#remark").text(strRemark);
4、但是注意,如果直接在textarea里面打回车的话, IE和其它浏览器都会将回车解析为\r\n,(表单传到后台的\r\n,我这里是用struts2)。
5、如果不用jquery的text(val),不知怎么对textarea的值进行编码赋值?
相关文章推荐
- 解决jsp中textarea 输入显示的问题( 包括回车、换行、空格 )
- 解决textarea内容有回车或者换行时前台显示不正常的问题
- 通过ajax读取json格式数据字符串出现回车时出错问题解决
- TextArea 回车换行的显示
- php json字符串中回车换行浏览器没解析
- php获取textarea的值作为邮箱内容发出去不换行的问题处理,即回车换行的方法
- 解决浏览器显示长数字不能自动换行或长字母不能换行的问题
- 浏览器禁用退格键和回车,文本区域支持回车换行 IE6,Firefox2.X,Firefox3.x版本下测试通过
- 通过弹出菜单和换行方式解决多按钮显示问题
- 解决浏览器显示长数字不能自动换行或长字母不能换行的问题
- 解决浏览器显示长数字不能自动换行或长字母不能换行的问题
- textarea显示问题 (保留换行空格等 格式) 解决方案
- JSF web页面的<h:inputTextarea>和数据库存储的回车换行及<br />问题
- textarea回车在多浏览器兼容问题
- 解决textarea内容保存到MySQL再显示到html中没有换行的问题
- js解决通过json传来的timestamp类型时间的显示问题
- 数据库文本中关于换行和回车等特殊字符的输出显示问题
- 关于jquery解析json数据时动态追加tr 指定条数换行问题 实现list的 并列显示效果
- 浏览器显示td内容自动换行问题的处理
- JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值