0

我是 sencha touch 框架的新手。我首先尝试创建用户登录。我想从表单中获取用户名和密码并发送到 api 进行身份验证。但我什至无法获得字段值。我的 LoginForm 视图如下所示:

Ext.define('NCAPP.view.tablet.LoginForm', {
extend: 'Ext.form.Panel',
xtype:'loginForm',
id:'loginForm',
config: {
    items: [
        {
            xtype: 'image',
            src:'resources/img/netcenter_logo.png',
            height: 100
        },
        {
            xtype: 'fieldset',
            title: 'NCAPP LOGIN:',
            items: [

                {
                    xtype: 'textfield',
                    id:'fldUsername',
                    name:'username',
                    placeHolder: 'Username'
                },
                {
                    xtype: 'textfield',
                    id:'fldPassword',
                    name:'passowrd',
                    placeHolder: 'Password'
                }

            ]
        },
        {
            xtype: 'button',
            id: 'btnLogin',
            text: 'Login'
        }
    ]
}

});

和我的登录控制器:

Ext.define('NCAPP.controller.tablet.LoginController', {
extend: 'Ext.app.Controller',    
config: {
    refs: {   
        loginForm:'#loginForm'
    },
    control: {
        '#btnLogin':{
            tap:'onLoginButtonTap'
        }            
    }
},
onLoginButtonTap:function(){

    var values=this.getLoginForm().getValues();
    console.log(values.username); // want to see this output

    Ext.ModelMgr.getModel('NCAPP.model.User').load(1,{
        success:  function(user){

            //to do

        },
        failure: function(user){
            console.log("failed");
        }
    });    
},
init:function(application){

}    

});

我没有成功获取用户名字段的值。显示的错误是:

Uncaught TypeError: Object function () {
                return this.constructor.apply(this, arguments);
            } has no method 'LoginForm' 

或者有时这个错误:

Uncaught TypeError: Cannot call method 'getValues' of undefined 

任何人都可以帮助我......谢谢

4

1 回答 1

0

看起来您忘记了回调()末尾的this.getLoginForm。尝试切换到

success:  function(user){
    var values=this.getLoginForm().getValues();
                              //^^------these ones
    console.log(values.username); // want to see this output
}
于 2013-03-18T12:52:19.763 回答