可编辑编码&变成&在编辑时

时间:2011-06-22 18:25:14

标签: jquery jeditable

我正在使用jeditable并遇到一些编码问题。如果我输入&,请保存,然后尝试进行修改,显示为&

此处可轻松重现:http://www.appelsiini.net/projects/jeditable/default.html

编辑普通文本区域并输入&&&,保存然后再次编辑,您将看到它。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:5)

更好的解决方案....即使是压缩的js文件。

搜索专栏:

self.revert     = $(self).html();

替换为

self.revert     = $(self).text();

如果您想要“&”,解决方案no1将无效在您的可编辑字段中 溶剂no2取决于版本

答案 1 :(得分:2)

溶液:

input_content = $('<textarea/>').html(self.revert).val();

这会将输入转换为html_safe类型格式。这在第247行附近取代:

input_content = self.revert; 

答案 2 :(得分:1)

我遇到了同样的问题,这是我在jquery.jeditable.js(v 1.7.1)文件中编辑的内容:

替换l.176:

self.editing    = true;
self.revert     = $(self).html(); 
$(self).html('');

通过

self.editing    = true;
self.revert     = $(self).html().replace(/&amp;/g,"&");
$(self).html('');

这是一个简单的正则表达式,将&amp;替换为&并完成了这项工作!

答案 3 :(得分:1)

github repo上有针对此问题的拉取请求。

快速解决方案正如亚历克斯所说。如果您不知道要更改的内容,请查看拉取请求中的文件。

更好的解决方法是纠缠回购所有者,因为此拉取请求已有两年了。