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

作者:yan

最终方案:

1、数据库存放回车换行代码为“\r\n”;

2、由于json里不能直接放\r\n,可以将其替换成
传到页面;

3、在页面上将
换回\r\n;最重要的地方是:在textarea显示时,不同浏览器处理方式不同,看代码:

                var strRemark="";
                if (Sys.ie){
                      strRemark=data.remark.replace(//gi,"\r");//ie下,经过下面的text(val)编码后,\r会变成\r\n;如果是\r\n经过编码后变\r\n\n
                }else{
                     strRemark=data.remark.replace(//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的值进行编码赋值?

你可能感兴趣的:(js,html)