2016-06-21 18 views
1

Ich habe ein Problem mit yui TextAreaCellEditor.Wie htmlentities in yui decodieren TextAreaCellEditor

Unter yui-Anweisungen öffnet der Editor mit Speichern und Cancel-Schaltfläche beim Klicken auf die yui-Spalte.

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

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

Jetzt ist mein Problem, wenn ich jemals geben Titel und speichere meine Titel in der Datenbank zum Beispiel ist „text&data<new>“. Es wird richtig sparen, aber wenn ich den Editor mit dem Titeltext öffnen. Es wird angezeigt wie "text&amp;data&lt;new&gt;". Ich wollte HTML-Elemente aus dem Editor entfernen.

Jede Hilfe wird sehr geschätzt.

Antwort

2

TextareaCellEditor hat eine Veranstaltung namens „Fokus:“ Wenn der Editor initailized und Fokus liegt darauf, die Focus-Funktion aufgerufen wird, können Sie davon Gebrauch machen.

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

myTextareaCellEditor.textarea.value: den Wert geben, der im Textbereich angezeigt wird. Diesen Wert können Sie mit der Funktion decodeText() dekodieren und den Textarea-Wert ersetzen.

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; 
} 

Hoffe, das hilft. Viel Spaß beim Codieren :)

+0

Seine Werke Vivek, Vielen Dank. –