ExtJS TextField动态更改fieldLabel的方法

      在我遇到要动态更改TextField的fieldLabel方法时,因为ExtJs本身没有提供这个方法,在网上找了很多资料也没能正在解决这个问题,于是我自己研究了很久,终于想到一个方法。那就是用Firebug来查看ExtJs的TextField在运行时被解析成什么样的HTML标签,然后用Dom操作来修改它的标题。


var textField = new Ext.form.TextField({
        fieldLabel: "输入框标题",
        id: "textfieldId"
    });


上面的一个TextField在运行时被解析成的HTML为:



从上面的HTML可以看出,输入框(text)和它的标题(label)的Dom关系是:label是text的叔叔 ,所以,我们可以使用如下代码来更改它的标题:

document.getElementById("textfieldId").parentNode.previousSibling.innerHTML ="输入框标题改变了:";

 

注:在更改它的标题之前,要保证该TextField已经被渲染到窗体。

你可能感兴趣的:(Extjs)