您的位置:首页 > Web前端 > JavaScript

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的值进行编码赋值?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐