2016-06-21 5 views
1

yui TextAreaCellEditorに問題があります。yuiでhtmlentitiesをデコードする方法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

その作品Vivek、ありがとうございます。 –

関連する問題