1

このフォーム パネルをログイン ページとして使用する:

Ext.create('Ext.container.Viewport', {        
 renderTo: Ext.getBody(),        
 layout:{           
 type:'fit'         
},        
 items: [           
 {         
   xtype: 'form',           
 id: 'loginForm',           
 border: false,           
 layout: {             
 type: 'vbox',              
align: 'center',              
pack: 'center'          
},       
height : Ext.getBody().getViewSize().height,       
width : Ext.getBody().getViewSize().width,      
defaultType : 'textfield',      
listeners: {               
 afterRender: function(thisForm, options){               
 this.keyNav = Ext.create('Ext.util.KeyNav', this.el, {                
enter: function(){if(loginForm.getForm().isValid())                      
 login(loginForm);              
  },                
scope: this                    
});                
}             
},...........

詳細を入力した後、送信のためにEnterキーを押すように設定しようとしています。この行:

enter: function(){if(loginForm.getForm().isValid())

ただし、次のように置き換えると、正しく機能しません。

enter: function(){Ext.getCmp('firstField').getValue().length && Ext.getCmp('secondField').getValue().length

それはうまく動作します。しかし、私は isValid() を使いたかったのですが、誰か助けてもらえますか?

4

1 に答える 1

2

loginForm は定義されていません (少なくとも問題のコードでは定義されていません)。IDで取得:

 if(Ext.getCmp('loginForm').getForm().isValid()) 
于 2014-05-26T19:23:34.737 に答える