2012-10-02 16 views
0

我是ExtJs的新手。 我一直在面板中獲取面板html內容的問題。如何從面板中獲取HTML內容ExtJs

xtype : 'panel', 
id : 'first_block', 
html : '<p>Hi this is belongs to first block.</p>', 
listeners : { 
    render : function(c) { 
     c.body.on('click', function() { 
      alert('' + this.id); 
      alert(Ext.getCmp('first_block').items.getAt(0).getValue()); 
     }); 
} 

我沒有收到html內容,但我得到像「first_block-body」一樣的id。

在此先感謝。

回答

5

html屬性定義了您希望在組件內容中使用的HTML,在本例中爲Ext.Panel

Ext.Panel S IN以提供諸如頁眉,頁腳,工具欄等

創建的div個幾層如果你想要的是一個div一些內容,而不是你想要使用Ext.Component。組件沒有body,所以你的代碼中有一些東西會改變。

xtype : 'component', 
id : 'first_block', 
html : '<p>Hi this is belongs to first block.</p>', 
listeners : { 
    render : function(c) { 
     c.on('click', function() { 
      alert('' + this.id); 
      alert(this.el.dom.innerHTML); 
     }, this); 
} 

注意,我增加了第三個參數,你on調用,指定函數調用的this範圍。我還編輯了您的警報,打印出元素的innerHTML,假設您正在嘗試執行此操作。

UPDATE:

如果你打算在佈局中使用這個組件,它可能需要能夠有它heightwidth集,這意味着它需要box類型的順序是一個Ext.BoxComponent

0

Ext.getElementById('yourId')。innerHTML