title: Extjs change fieldLabel after field is rendered. Any better solution?
body: <p>I examined how ExtJs renders form's fields in dom. To change fieldLabel after field is rendered I find proper dom element and change its innerHTML;</p>
  
  <pre><code>/**
  * Modifies field's label afrer field is rendered.
  *
  * @param {object} field
  *    Some object that directly or indirecty extends Ext.form.Field
  * @param {String} label
  *    New value for field's label.
  */
  function setLabel(field,label){
      var el = field.el.dom.parentNode.parentNode;
      if( el.children[0].tagName.toLowerCase() === 'label' ) {
          el.children[0].innerHTML =label;
      }else if( el.parentNode.children[0].tagName.toLowerCase() === 'label' ){
      el.parentNode.children[0].innerHTML =label;
      }
      return setLabel; //just for fun
  }
  
  //EXAMPLE:
  var win = new Ext.Window({
      height : 200,
      width : 300,
      layout : 'form',
      labelAlign : 'right',
      items : [{
          xtype : 'textfield',
          fieldLabel : 'name',
          ref : 'f',
          html : 'asdf'
      },{
          xtype : 'datefield',
          fieldLabel : 'date',
          ref : 'd'
      },{
          xtype : 'combo',
          fieldLabel : 'sex',
          ref : 'c',
          store : [[1,"male"],[2,"female"]]
      },{
          xtype : 'radio',
          fieldLabel : 'radio',
          ref : 'r'
      },{
          xtype : 'checkbox',
          fieldLabel : "checkbox",
          ref : 'ch'
      }]
  }).show()
  
  setTimeout(function(){
     setLabel(win.f,'Last Name')(win.d,'Birth Date')(win.c,'Your Sex')(win.r,'jus radio')(win.ch,'just checkbox');
  },3000);
  </code></pre>