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

发布于 2024-11-01 04:05:08 字数 1401 浏览 7 评论 0 原文

我试图在我的 sencha touch 应用程序中达到我的表单的价值,该应用程序是我根据教程拼凑而成的。我希望它是一个 MVC 模式应用程序,所以我使用

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

并在里面初始化它

 app.views.Login.superclass.initComponent.apply(this, arguments);

,并使用像 sencha touch Phonegap MVC 教程中那样的视口(链接),我在其中应用登录页面,就像

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);
                  }
    });
}

,但总是收到错误消息

未捕获类型错误:无法调用方法 未定义的“getValues””

当我使用时,

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

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

thnx!!!

i am trying to reach the values of my form in my sencha touch application which i build out of a patchwork of tutorials. i want it to be a MVC pattern app so i use

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

and inside there initialising it with

 app.views.Login.superclass.initComponent.apply(this, arguments);

and a viewport like in the sencha touch phonegap MVC tutorial (link) where I apply the login page like

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

within my app when I click the send button of the form I try to catch the fields of the form

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);
                  }
    });
}

but I allways get an error which says

Uncaught TypeError: Cannot call method
'getValues' of undefined"

when i use

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

so how could I reach the form values?

thnx!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋日私语 2024-11-08 04:05:08

查看 Sencha Touch API 文档,我不知道查看方法 getForm(),但 getValues() 应该可以从按钮 handler 函数中访问,如下所示:

app.views.loginPage.getValues();

Looking at Sencha Touch API Documentation, I do not see a method getForm(), but getValues() should be reachable like this from your button handler function:

app.views.loginPage.getValues();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文