我是sencha touch的新手,我做了一个简单的登录表单,并且接受用户的用户名和密码。当我单击提交时,表单的字段值将以JSON格式在javascript警报中查看。我在视图应用程序中创建我的表单。这是我的代码:
var formPanel = Ext.define('GS.view.Login', {
extend: 'Ext.form.Panel',
xtype: 'loginform',
requires: [
'Ext.form.FieldSet'],
config: {
title: 'Login',
iconCls: 'home',
url: 'authenticate_page.php',
items: [{
xtype: 'fieldset',
title: 'Login',
items: [{
xtype: 'textfield',
name: 'txt_username',
label: 'Username'
}, {
xtype: 'passwordfield',
name: 'txt_password',
label: 'Password'
}]
}, {
xtype: 'button',
text: 'Allow me in',
ui: 'confirm',
handler: function () {
var values = this.getValues();
alert(values);
}
}]
}
});
我尝试了一些方法,但这不起作用。请帮忙。
答案 0 :(得分:2)
在按钮的handler
var values = this.getValues();
alert(values);
this
指的是您的按钮,当然您的按钮不包含任何表单值。
要获取表单值,请执行以下操作:
handler: function() {
var values = this.up('form').getValues();
//or:
//var values = formPanel.getValues();
console.log(values);
}
结帐the documentation for Ext.form.Panel。它有足够的示例来指导您完成。
答案 1 :(得分:1)
您好,如果您想从特定字段获取值,则意味着始终使用
Ext.getCmp('Username').getValue(), // id of the field
Ext.getCmp('Password').getValue(),
答案 2 :(得分:0)
您需要为表单元素添加“id”
items: [
{
xtype: 'textfield',
name: 'txt_username',
label: 'Username',
id: 'Username'
},
{
xtype: 'passwordfield',
name: 'txt_password',
label: 'Password'
id: 'Password'
}
]
之后,您可以使用方法Ext.get(id);
获取值例如
Ext.get('Username')
Ext.get('Password')