textarea 通过 json在各浏览器的显示回车换行的问题

来源:互联网 发布:文泰刻字机端口设置 编辑:程序博客网 时间:2024/04/29 03:49

作者: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的值进行编码赋值?
原创粉丝点击