2011-05-20 30 views
10

我有格列:如何在網格中轉義html實體?

{ 
    header: "", 
    sortable: false, 
    id: 'value', 
    dataIndex: 'value', 
    hidden: false, 
    editor: { 
     xtype: 'textfield', 
     allowBlank: false 
    } 
} 

如何逃脫HTML實體僅在此列渲染功能?

回答

2

EditorGridPanel上有一個autoEncode屬性。

「與編輯前後的自動HTML編碼和解碼值相同(默認爲false)。」

只需將其設置爲true即可。

autoEncode: true 
12

列定義的渲染財產可以採取無論是功能還是Ext.util.Format的方法之一的字符串名稱。在這種情況下,你可以通過聲明列使用的HTMLEncode方法:

{ 
    header: "", 
    sortable: false, 
    id: 'value', 
    dataIndex: 'value', 
    hidden: false, 
    editor: { 
     xtype: 'textfield', 
     allowBlank: false 
    }, 
    renderer: 'htmlEncode' 
} 
+2

我不得不使用'渲染器:Ext.util.Format.htmlFormat'(而不是一個字符串;在Ext3中)。 – 2012-02-01 16:00:00

+0

找不到任何這樣的命名屬性。你能否幫我確定應該在哪裏應用這個'htmlEncode'? – 2013-06-05 13:13:18

+0

謝謝你,這節省了我很多時間。 – quintin 2016-01-25 08:01:17

1

喜寫這個代碼在app.js文件 電網//代碼XSS

Ext.override(Ext.grid.column.Column, { 
defaultRenderer: Ext.util.Format.htmlEncode 
});