2010-07-22 1 views
2

Я пытаюсь использовать Jeditable для редактирования встроенного контента, помещенного в текстовые поля. Итак, я называю файлы сценария:Специальные символы, декодированные в моем текстовом поле (с использованием редактирования на месте плагина jQuery)

<script src="js/jquery.jeditable.js"></script> 
<script src="js/jquery.jeditable.autogrow.js"></script> 
<script src="js/jquery.autogrow.js"></script> 

Тогда я функция, которая должна передавать данные на сервер (я сохранил пример URL). Это fonction создает текстовое поле и позволяет издание:

$(".autogrow").editable("http://www.appelsiini.net/projects/jeditable/php/save.php", { 
indicator : "<img src='img/indicator.gif'>", 
type  : "autogrow", 
submit : 'OK', 
cancel : 'cancel', 
tooltip : "Click to edit...", 
onblur : "ignore", 
event : "dblclick", 
autogrow : { 
    lineHeight : 16, 
    minHeight : 32 
} 
}); 

Затем, у меня есть данные для редактирования Таны содержит HTML-тег, потому что я должен хранить их:

$data = '<div style="color:red">Foo Bar</div>'; 
echo '<div class="autogrow">'.htmlentities($data).'</div>'; 

«Эхо» отображает «$ данных» содержание совершенно с тегами, но когда я хочу рядное редактирование DIV, текстовой создаются и следующие данные отображаются в этом текстовое поле:

&lt;div style="color:red"&gt;Foo Bar&lt;div&gt; 

вместо:

<div style="color:red">Foo Bar</div> 

Как я могу отобразить правильные символы?

ответ

0

Edit: Я не понимаю, этот вопрос был задан в течение 2-х месяцев назад - Извините

Вы пытались с помощью функции html_entity_decode(), когда вы поместите текст в область текста?

htmlentities() функция изменит вещи, как < в &lt;, в то время как html_entity_decode() следует изменить &lt; в <

В основном текстовое поле не будет форматировать HTML-теги, так что вы должны преобразовать их самостоятельно.

Однако прошло некоторое время с тех пор, как я использовал PHP, поэтому не могу вспомнить слишком хорошо.

-1

Просто редактировать этот файл JS/jquery.jeditable.js
перейти к строке #: 398 $ .editable {} функции, и добавьте строку, как в коде ниже

$.editable = { 
     types: { 
      defaults: { 
       element : function(settings, original) { 
        var input = $('<input type="hidden"></input>'); 
        $(this).append(input); 
        return(input); 
       }, 
       content : function(string, settings, original) { 
        string = $('<div/>').html(string).text(); // <--- Add this line     
        $(':input:first', this).val(string); 
       }, 

Благодарности