title: Extjs this.up(...).down(...) is null
body: <p>When i press save button then its work fine. But I face some problem when i press enter on this field the error message is this.up(...).down(...) is null. My from window is given below. 
  I just want to, when you press enter on a textbox, it will act like you clicked the button.</p>
  
  <p>Can anyone help?</p>
  
  <pre><code>Ext.define('${pkgName}.v01i002001.SV01I00200201' , {
      extend      : 'Ext.window.Window',
      alias       : 'widget.sv01i00200201',
      id          : 'sv01i00200201',   
      title       : 'MANUFACTURE :: SV01I00200201',
      minimizable : false,
      maximizable : false,
      autoShow    : true,
      resizable   : false,
      border      : false,
      modal       : true,
      padding     : '0 5 0 5',
      icon        : "${resource(dir: 'images', file: 'APP01003.png')}",
      layout    : {
          type: 'vbox',
          align: 'stretch'
      },
      initComponent : function () {
          var me = this; 
          var required = '&lt;span style="color:red;font-weight:bold" data-qtip="Required"&gt;*&lt;/span&gt;';       
          this.items = [
          {
              xtype     : 'form',
              bodyStyle : {
                  padding   : '10px',
                  border    : true
              },
              tbar: Ext.create('Ext.ux.StatusBar', {
                  id              : 'win-statusbar-sv01i00200201',
                  topBorder       :true,
                  text            :'Status',
                  defaultIconCls  : 'info',
                  defaultText     : 'Status'
              }),
              items : [{
                  xtype             : 'textfield',
                  fieldLabel        : 'Id',
                  name              : 'id',
                  width             : 265,
                  anchor            : '95%',
                  emptyText         : 'Not need...',
                  readOnly          : true
              },{
                  xtype             : 'textfield',
                  fieldLabel        : 'Manufac. Name',
                  emptyText         : 'Write Manufacturer name',
                  allowBlank        :  false,
                  name              : 'name',
                  width             :  265,
                  anchor            : '95%',
                  listeners: {
                      specialkey    : function(field, e){
                          if (e.getKey() == e.ENTER || e.getKey()==e.TAB) {                                    
                              //Ext.get('save-sv01i00200201').dom.click();                              //it work
                             // this.up().up().down('button[action=save]').fireEvent('click');          //TypeError: button.up is not a function
                             // this.up('sv01i00200201').down('button[action=save]').fireEvent('click');//TypeError: button.up is not a function
                             // this.up('window').down('button[action=save]').fireEvent('click');       //TypeError: button.up is not a function
                          }
                      }
                  }
              }]
          }]
          this.buttons = [
          {
              text    : 'Save',
              icon    : "${resource(dir: 'images', file: 'SAV01004.png')}",
              id      : 'save-sv01i00200201',
              action  : 'save'
          },{
              text    : 'Close',
              icon    : "${resource(dir: 'images', file: 'CLS01001.png')}",      
              scope   : this,
              handler : function(button){
                  var win = button.up('window');
                  win.close();
              }
          }]
          me.callParent(arguments);
      }
  });
  </code></pre>
  
  <p>My controller given below</p>
  
  <pre><code>Ext.define('${pkgName}.C01I002001', {
      extend  : 'Ext.app.Controller', 
      requires: [],
  
      views:[
          'V01I001000',
          'v01i002001.SV01I00200100',
          'v01i002001.SV01I00200101',
          'v01i001001.SV01I00200104',
          'v01i001001.SV01I00200106',
          'v01i002001.SV01I00200201',
          'v01i002001.SV01I00200301'
      ],
      refs    : [{
              ref : 'v01i002001',
              selector: 'window'
          }],
      init: function() {
          manuStore   = Ext.data.StoreManager.get('S01I002001'); 
          var me      = this;
          me.category = undefined;        
          me.control({             
              'sv01i00200201 button[action=save]': {
                  click           :   this.manufacturerSave
              }
          });
      },
      manufacturerSave   :   function(button){
          win     = button.up('window'),
          form    = win.down('form'),
          record  = form.getRecord(),
          values  = form.getValues();
  
          if(form.getForm().isValid()){
  
              var manufacturer    = Ext.create('${appName}.model.M01I002001',{
                  name:values.name
              });        
  
              manufacturer.save({
                  scope:this,
                  success:function(records, operation){
                      var text     = operation.response.responseText,
                      json         = Ext.decode(text);
                      form.loadRecord(records);
                      controller000.statusbar('sv01i00200201', json.message, 'saveInfo', 'activecaption');
                      manuStore.load();
                      var win       = Ext.getCmp('sv01i00200201');
                      controller000.closeWindow(win);
                  },
  
                  failure:function(model, operation){
                      controller000.statusbar('sv01i00200201', operation.error, 'warnInfo', 'red');
                  } 
              }); 
          }else{
              controller000.statusbar('sv01i00200201', 'Necessary Field Required', 'warnInfo', 'red');
  
          }
      }
  });
  </code></pre>