Jeditable在渲染页面已有DIV=>form的时候
首先使用
$("div").html();
去获取原DIV中的内容.
这样导致一个问题, 如果原div中带有html关键字, 在获取时候会被转码.
比如&会被转成& 继而写入form中的textarea.
在提取html至form的时候做处理, 可以解决这个问题
$.trim(br2nl(htmlspecialchars_decode(string)))
br2nl转换原先数据库存储的<br>标签=>\n
function br2nl(text) {
return text.replace(/<br\s*\/?>/mig,"\n");
}
htmlspecialchars_decode 将html反转码
function htmlspecialchars_decode(htmlstring, quote_style) {
var str = htmlstring.replace(/&/g, '&');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>'); // decode depending on quote_style
if (quote_style == 'ENT_QUOTES')
{
str = str.replace(/"/g, '"');
str = str.replace(/'/g, '\'');
}
else if (quote_style != 'ENT_NOQUOTES')
{
// All other cases (ENT_COMPAT, default, but not ENT_NOQUOTES)
str = str.replace(/"/g, '"');
} return str;
}