EXTjs中如何获取Panel中html的内容

2025-03-06 22:39:56
推荐回答(3个)
回答1:

 // private
    afterRender : function(){
        if(this.floating && !this.hidden && !this.initHidden){
            this.el.show();
        }
        if(this.title){
            this.setTitle(this.title);
        }
        this.setAutoScroll();
        if(this.html){
            this.body.update(Ext.isObject(this.html) ?
                             Ext.DomHelper.markup(this.html) :
                             this.html);
            delete this.html;//看这里
        }

 这个是Panel定义的源码,可以看到Panel在渲染后,把html属性被body.update使用了,然后该属性就被删除了。因此你定义出来的panel对象无法通过点属性来获取html你定义的内容了。

所以我们只能通过body来获取了。这样就行了:

var tb = new Ext.Panel({   
      html:'12345',
      tbar:[{
     text:"点击获取",
     handler : function() {
      alert(tb.body.dom.innerHTML);
     }
    }]
});

你试试吧~~~

回答2:

panel.body.dom.innerHTML

回答3:

Ext.Msg.alert('htmlText',panel.body.dom.innerHTML);