Sencha Touch MVC :: 试图到达 Ext.extend(Ext.form.FormPanel,...) 的 getValues()
Posted
技术标签:
【中文标题】Sencha Touch MVC :: 试图到达 Ext.extend(Ext.form.FormPanel,...) 的 getValues()【英文标题】:Sencha Touch MVC :: Trying to reach getValues() of Ext.extend(Ext.form.FormPanel,...) 【发布时间】:2011-04-14 15:52:05 【问题描述】:我正在尝试在我的 sencha touch 应用程序中达到我的表单值,该应用程序是由拼凑而成的教程构建的。我希望它是一个 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);
);
但我总是收到一个错误提示
未捕获的类型错误:无法调用方法 'getValues' of undefined"
当我使用时
console.log('username ', this.getValues().username);
那么我怎样才能达到表单值?
谢谢!!!
【问题讨论】:
我认为您还应该在问题中包含发送按钮的代码(尤其是其handler
)。
已编辑:将 'this.getValues().username' 更改为 'app.views.Login.getValues().username' - 但仍然无法正常工作。错误:“Uncaught TypeError: Object function () superclass.apply(this, arguments); has no method 'getValues'”
hm,所以如果没有解决方案我想我必须将登录页面移出视口......
【参考方案1】:
查看Sencha Touch API Documentation,我没有看到getForm()
的方法,但getValues()
应该可以通过您的按钮handler
函数访问:
app.views.loginPage.getValues();
【讨论】:
@Tommi 嘿,谢谢您对此的看法。我必须为我的错误描述道歉。我编辑了我的问题,希望能更好地描述我的问题... 查看我上面的评论 -handler
是什么样的?
但我在视口中使用“Ext.apply(app.views, loginPage: new app.views.Login());”定义的表单那么我应该在哪里声明一个额外的“var login = new app.views.Login(...);”?
好的。再试一次。再次更新了我的答案。
samesame -> Uncaught TypeError: Object [object Object] has no method 'getValues'以上是关于Sencha Touch MVC :: 试图到达 Ext.extend(Ext.form.FormPanel,...) 的 getValues()的主要内容,如果未能解决你的问题,请参考以下文章
在 EXTJS 和 Touch Apps 之间共享遵循 MVC 模式的功能 - Sencha Workspace