2016-06-21 2 views
1

Я столкнулся с проблемой с yui TextAreaCellEditor.Как декодировать htmlentities в yui TextAreaCellEditor

Ниже операторов yui открывается редактор с сохранением и кнопкой Отмена при нажатии столбца yui.

var myTextareaCellEditor = new YAHOO.widget.TextareaCellEditor(); 

var myColumnDefs = [ 
{key:"title",label:"Title", sortable:true ,editor: myTextareaCellEditor}, 
]; 

Теперь моя проблема, когда я когда-либо указать название и сохранить в базе данных, например, мое название «text&data<new>». Правильно получается сохранение, но когда я открываю редактор, содержащий текст заголовка. Отображается как «text&amp;data&lt;new&gt;». Я хотел удалить html-объекты из редактора.

Любая помощь очень ценится.

ответ

2

TextareaCellEditor имеет событие под названием «Фокус», когда редактор initailized и фокус на него, функция фокусировки называется, вы можете использовать его.

var myTextareaCellEditor = new YAHOO.widget.TextareaCellEditor({ 
     focus:function(e){ 
      var textVal = myTextareaCellEditor.textarea.value; 
      textVal = decodeTEXT(textVal) ; 
      myTextareaCellEditor.textarea.value = textVal; 
     } 
}); 

myTextareaCellEditor.textarea.value: даст значение, которое отображается в текстовой области. Это значение можно декодировать с помощью функции decodeText() и заменить значение textarea.

function decodeTEXT(textVal){ 
    textVal = textVal.replace(/&amp;/g, '&'); 
    textVal = textVal.replace(/&gt;/g, '>'); 
    textVal = textVal.replace(/&lt;/g, '<'); 
    textVal = textVal.replace(/&quot;/g, '"'); 
    textVal = textVal.replace(/&#39;/g, "'"); 

    return textVal; 
} 

Надеюсь, это поможет. Наслаждайтесь кодированием :)

+0

Его работы Вивек, спасибо. –

Смежные вопросы