jeditable кодировка и превращается в & при редактировании - PullRequest
8 голосов
/ 22 июня 2011

Я использую jeditable и у меня проблемы с кодировкой. Если я ввожу &, сохраняю, а затем пытаюсь отредактировать его, отображается как &.

Легко воспроизводится здесь: http://www.appelsiini.net/projects/jeditable/default.html

Отредактируйте текстовое поле Normal и введите &&&, сохраните, а затем отредактируйте снова, и вы увидите его. Как я могу это исправить?

Ответы [ 4 ]

5 голосов
/ 27 октября 2011

Лучшее решение .... даже для сжатого файла js.

Поиск строки:

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

заменить на

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

Решение № 1 не будет работать, если вы хотите, чтобы "&" в вашем редактируемом поле Раствор №2 зависит от версии

2 голосов
/ 23 июня 2011

решение:

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

Преобразует входные данные в формат типа html_safe.Это идет вокруг строки 247 для замены:

input_content = self.revert; 
1 голос
/ 27 июля 2013

Существует запрос на удаление для этой проблемы на github repo .

Быстрое исправление, как сказал Алекс. Если вы не знаете, что изменить, посмотрите файл в запросе на извлечение.

Лучшее решение - приставить к владельцу репо, поскольку этому запросу на получение заявок исполнилось два года.

1 голос
/ 13 сентября 2011

Я столкнулся с той же проблемой, вот что я отредактировал в файле jquery.jeditable.js (v 1.7.1):

заменить л.176:

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

от

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

Это простое регулярное выражение, заменяющее &amp; на &, и оно сделало свою работу!

...