gpt4 book ai didi

javascript - Sencha Touch 2 - 使用 MVC 获取表单值

转载 作者:行者123 更新时间:2023-11-30 05:42:22 25 4
gpt4 key购买 nike

我的问题与这篇文章中的可能答案有关 Sencha Touch 2 - How to get form values?

我在尝试使用 Controller 从 View 中的表单中检索值时遇到了同样的问题。

我当前的错误是Uncaught TypeError: Object # has no method 'getValues'

查看:

Ext.define("App.view.Login", {
extend: 'Ext.form.Panel',
requires: [
'Ext.field.Password'
],
id: 'loginview',

config: {
items: [{
xtype: 'titlebar',
title: 'Login',
docked: 'top'
},
{
xtype: 'fieldset',
id: 'loginForm',
defaults: {
required: true
},
items: [{
items: [{
xtype: 'textfield',
name: 'username',
label: 'Username:'
},
{
xtype: 'passwordfield',
name: 'password',
label: 'Password:'
}]
}]
},
{
xtype: 'toolbar',
layout: {
pack: 'center'
}, // layout
ui: 'plain',
items: [{
xtype: 'button',
text: 'Register',
id: 'register',
ui: 'action',
}, {
xtype: 'button',
text: 'Login',
id: 'login',
ui: 'confirm',
}] // items (toolbar)
}]
}

});

Controller :

Ext.define('App.controller.Login', {
extend: 'Ext.app.Controller',

requires: [
'App.view.Login',
'Ext.MessageBox'
],

config: {
refs: {
loginForm: '#loginForm',
register: '#register',
login: '#login'
},
control: {
register: {
tap: 'loadRegisterView'
},
login: {
tap: 'loginUser'
}
},

history: null
},

loadRegisterView: function(btn, evt) {
/*var firststep = Ext.create('App.view.Register');
Ext.Viewport.setActiveItem(firststep);*/
},
loginUser: function(btn, evt) {
var values = loginForm.getValues();
console.log(values);
}

});

谢谢

编辑:所以下面的代码有效,但不是我看到每个人都这样做的。

var form = Ext.getCmp('loginview');

console.log(form.getValues());

其他人都这样做。getLoginView().getValues(); .我不明白“this”在错误的范围内,甚至在哪里声明 getLoginView?没有人在他们的片段中包含这些信息。这是另一个例子 Sencha Touch 2 - How to get form values?

最佳答案

在“id”下方的 View 中添加xtype:

xtype: 'loginform',

然后将 loginForm 的引用替换为:

loginForm: 'loginform',

您的代码将起作用。您犯的错误是您试图访问“fieldset”中的“formpanel”方法。

关于javascript - Sencha Touch 2 - 使用 MVC 获取表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20057234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com