Sencha Touch MVC ::尝试访问Ext.extend的getValues()(Ext.form.FormPanel,...)

时间:2011-04-14 15:52:05

标签: model-view-controller sencha-touch extjs formpanel

我正在尝试在我的sencha触摸应用程序中达到我的表单的值,这是我用拼凑的教程构建的。我希望它是一个MVC模式的应用程序,所以我使用

app.views.Login = Ext.extend(Ext.form.FormPanel, formBase = {...})

并在里面用

初始化它
 app.views.Login.superclass.initComponent.apply(this, arguments);

和在sencha touch phonegap MVC教程(link)中的视口,我在那里应用登录页面

Ext.apply(app.views, {loginPage: new app.views.Login()});

在我的应用程序中,当我单击表单的发送按钮时,我尝试捕获表单的字段

handler: function() {
    console.log('username ', app.views.Login.getValues().username);
    Ext.Ajax.request({
        url: app.views.Login.url,
        method: 'POST',
        params: {username: form.getValues().username, password : form.getValues().password},
        failure : function(response){
                    console.log('Login Error! ' + response.responseText);
                },
        success: function(response, opts) {
                    console.log('Login success! response: ' + response.responseText);
                  }
    });
}

但我总是得到一个错误,上面写着

  

未捕获的TypeError:无法调用方法   'getValues'未定义“

当我使用

console.log('username ', this.getValues().username);

那么我怎样才能达到表格值?

日Thnx !!!

1 个答案:

答案 0 :(得分:1)

查看Sencha Touch API Documentation,我看不到方法getForm(),但getValues()应该可以通过按钮handler功能实现:

app.views.loginPage.getValues();