将此表单面板作为登录页面:
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()任何人都可以帮助我吗?
答案 0 :(得分:2)
未定义loginForm(至少不在问题的代码中)。通过id获取它:
if(Ext.getCmp('loginForm').getForm().isValid())