【问题标题】:retrieve sencha touch 2 fieldsetss value检索 sencha touch 2 fieldsets 值
【发布时间】:2013-03-18 11:57:12
【问题描述】:

我是 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 

谁能帮帮我....谢谢

【问题讨论】:

    标签: sencha-touch


    【解决方案1】:

    您似乎忘记了回调中this.getLoginForm 末尾的()。尝试切换到

    success:  function(user){
        var values=this.getLoginForm().getValues();
                                  //^^------these ones
        console.log(values.username); // want to see this output
    }
    

    【讨论】:

    • 感谢您的回复,但即使在this.getLoginForm末尾添加()后仍然存在相同的错误。我有两个不同的配置文件:平板电脑和手机。我想知道这是不是问题?
    • 嗯,您可以尝试将您的 ref 更改为 loginForm:'loginForm'。你所拥有的应该是有效的,但只是为了确保。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 2012-08-01
    • 2012-05-05
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多