实用ExtJS教程100例-011:ExtJS Form 使用JSON数据赋值和取值
上一节中我们演示了ExtJS Form的异步加载和提交数据,本节中我们将演示如何使用JSON数据为ExtJS Form中的字段赋值和取值。
使用JSON数据为字段赋值
var formCmp = this.up("form");
var form = formCmp.getForm();
var userValues = {
UserName: "Qi Fei",
Email: "youring2@gmail.com"
};
form.setValues(userValues);
在这段代码中,我们首先得到form组件,然后在得到form basic对象,form basic对象提供了form组件的字段管理、验证以及提交和加载工作。像上一节中的load和submit方法也都是form basic提供的,form basic才是运行在界面背后的强力支持。
在得到form basic以后,我们声明一个JSON对象,然后调用form basic的setValues方法为form字段赋值。
获取Form中字段的值
var formCmp = this.up("form");
var form = formCmp.getForm();
var userValues = form.getValues();
console.log(userValues);
这段代码中的前两行与上面的相同,得到form basic对象,在第三行中,通过调用getValues方法取得字段的值,返回值为JSON对象。
在得到form字段的JSON数据以后,我们使用console.log()方法将数据打印出来。
在线示例
完整的示例代码如下:
Ext.onReady(function () {
Ext.create("Ext.form.FormPanel", {
title: "ExtJS Form设置和获取Values",
width: 350,
height: 300,
x: 30,
y: 30,
layout: "form",
bodyPadding: "5",
defaultType: "textfield",
fieldDefaults: { labelAlign: "right", labelWidth: 55 },
items: [
{ name: "UserName", fieldLabel: "用户名", allowBlank: false },
{ name: "Email", fieldLabel: "电子邮箱" }
],
buttons: [
{
text: "设置Values",
handler: function () {
var formCmp = this.up("form");
var form = formCmp.getForm();
var userValues = {
UserName: "Qi Fei",
Email: "youring2@gmail.com"
};
form.setValues(userValues);
}
},
{
text: "获取Values",
handler: function () {
var formCmp = this.up("form");
var form = formCmp.getForm();
var userValues = form.getValues();
console.log(userValues);
}
},
{
text: "重置",
handler: function () {
var formCmp = this.up("form");
formCmp.getForm().reset();
}
}
],
renderTo: "container"
});
});
示例截图如下:

点击“设置Values”按钮:

点击“获取Values”按钮,我们打开控制台,截图如下:

实用ExtJS教程100例-011:ExtJS Form 使用JSON数据赋值和取值的更多相关文章
- 实用ExtJS教程100例-001:开天辟地的Hello World
ExtJS功能繁多,要想彻底的了解确实很困难.作为初学者,如何能找到一条快速的通道呢?我觉得,如果你有Javascript的基础,那就不要惧怕ExtJS的复杂,从动手开始,遇到问题,解决问题,积累经验 ...
- 实用ExtJS教程100例-009:ExtJS Form无刷新文件上传
文件上传在Web程序开发中必不可少,ExtJS Form中有一个filefield字段,用来选择文件并上传.今天我们来演示一下如何通过filefield实现ExtJS Form无刷新的文件上传. 首先 ...
- 实用ExtJS教程100例-010:ExtJS Form异步加载和提交数据
ExtJS Form 为我们提供了两个方法:load 和 submit,分别用来加载和提交数据,这两个方法都是异步的. 系列ExtJS教程持续更新中,点击查看>>最新ExtJS教程目录 F ...
- 实用ExtJS教程100例-008:使用iframe填充ExtJS Window组件
上面两节中我们分别演示了ExtJS Window的常用功能 和 如何最小化ExtJS Window组件,在这篇内容中我们来演示一下如何使用iframe填充window组件. 思路很简单,首先创建一个w ...
- 实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress
在上一篇内容中我们介绍了三种常用的MessageBox提示框,在这篇文章中,我们将演示如何在对话框中使用进度条. 进度条对话框 我们可以使用下面的代码来在MessageBox中显示一个进度条: Ext ...
- 实用ExtJS教程100例-007:ExtJS中Window组件最小化
在上一节中我们演示了如何使用ExtJS的Window组件,这篇内容中我们来演示一下如何将窗口最小化. 要让ExtJS标题栏中显示最小化按钮并不麻烦,只需要设置 minimizable: true 即可 ...
- 实用ExtJS教程100例-006:ExtJS中Window的用法示例
在前面几个示例中,我们演示了MessageBox的各种用法,今天这篇文章将演示如何使用Window. 我们首先来创建一个窗口: var win = Ext.create("Ext.windo ...
- 实用ExtJS教程100例-005:自定义对话框Ext.MessageBox.show
我们对ExtJS对话框进行了三篇演示: MessageBox的三种用法 进度条对话框Ext.MessageBox.progress 等待对话框Ext.MessageBox.wait 通过上面三篇内容的 ...
- 实用ExtJS教程100例-004:等待对话框Ext.MessageBox.wait
在前面两节中,我们分别演示了ExtJS三种常用的对话框和ExtJS带有进度条的对话框.在本节内容中,我们来看看ExtJS中的等待对话框. 首先来看一个简单的例子[查看在线示例]: 这种对话框会一直滚动 ...
随机推荐
- python强大的数据类型转换
# 原始的二维表数据集 jsonObj=[] # 添加模拟的数据 for i in range(1001,1004): for j in range(1,34): jsonObj.append({&q ...
- 对C转换说明符的误解以及关于数组的一些知识
事实上,scanf()函数中%c并非是用来输入单个字符的,而是用来输入一组字符的. 例如: ]; scanf("%3c",a); 其中“3”规定了输入数据的宽度,当然宽度为“1”的 ...
- Xamarin-Android_BaseAdapter 简单的复用
Xamarin-Android_BaseAdapter 简单的复用 缘由: 本人是一枚 小菜 初学Xamarin-Android 正在学习ListView 控件 发现这个控件的自定义布局 用的那叫一 ...
- HTTP协议-缓存
HTTP 协议中,缓存更多关心的文档资源的再利用.其目的是减少数据传输,加快相应速度等等.而对于缓存采用的是什么方案,也就是存在内存中还是硬盘中之类的问题,就属于另外的内容了. 假设,我身在广东,但是 ...
- BZOJ2160: 拉拉队排练
Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了.拉拉队是篮球比赛的一个看点,好的拉拉队往往能帮助球队增加士气,赢得最终的比赛.所以作为拉拉队队长的楚雨荨同学知道,帮助篮球队训 ...
- B+/-Tree原理
B-Tree介绍 B-Tree是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子:且M>2: 2.根结点的儿子数为[2, M]: 3. ...
- IEEEXtreme Practice Community Xtreme9.0 - Dictionary Strings
Dictionary Strings 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/dictio ...
- linux 下安装 RZ SZ命令 以及使用
对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,rz是把win的文件上传到linux上 sz是吧 ...
- CentOS安装CLI
#使用root账号 vim /etc/yum.repos.d/epel.repo [epel] name=epel baseurl=http://mirrors.sohu.com/fedora-epe ...
- rabbitmq的发布确认和事务 - 2207872494的个人空间
rabbitmq的发布确认和事务 - 2207872494的个人空间 https://my.oschina.net/lzhaoqiang/blog/670749