ExtJS4.2学习(16)制作表单(转)
鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-12-10/188.html
----------------------------------------------------------------------------------------
一、我们来制作一个简单的表单:

代码:
/**
* ExtJS之制作表单——第一个表单
*/
Ext.onReady(function(){
var form = new Ext.form.FormPanel({
title:'第一个表单',
defaultType:'textfield', //默认表单里的控件类型
buttonAlign:'center', //按钮对齐方式
//Ext.panel.Panel-cfg-frame
frame:true, //True 为 Panel 填充画面,默认为false.
width:220,
/**
* Ext.form.FieldAncestor-cfg-fieldDefaults
* 如果指定此配置项, 则该对象内部的属性将会被应用到所有添加到此容器内的 Ext.form.Labelable 实例(e.g. Ext.form.field.Base 或者 Ext.form.FieldContainer),作为其默认值.
*/
fieldDefaults:{
labelAlign:'right', //文本对齐方式
labelWidth:70
},
items:[{ //内容
fieldLabel:'输入框'
}],
buttons:[{
text:'按钮'
}]
});
form.render("form");
});
二、第二个表单

代码:
/**
* ExtJS之制作表单——第二个表单
* 此js演示了在表单中嵌套子组件以及如何进行布局
*/
Ext.onReady(function(){ // HtmlEditor需要这个
Ext.QuickTips.init(); var form = new Ext.form.FormPanel({
buttonAlign: 'center',
width: 600,
title: 'form',
frame: true,
fieldDefaults: {
//Ext.form.Labelable-cfg-labelAlign
labelAlign: 'right', //控制fieldLabel的位置和对齐方式。
labelWidth: 70 //fieldLabel以像素为单位的宽度。
},
items: [{ //单个组件,或者是以数组形式定义的子组件集合 将会自动添加到容器中去
xtype: 'container',
/**
* Ext.layout.container.Column
* 这个布局用于在一个多列格式中创建结构化布局的布局样式, 每列可以用百分比或固定的宽度值来定义, 但允许高度根据内容而改变.
*/
layout: 'column',
items: [{
/**
* Ext.Component-cfg-columnWidth (4.2版本)
* Defines the column width inside column layout.
* Can be specified as a number or as a percentage.
*/
columnWidth:.7,//".7"即表示在"列布局"中的列宽占70%
xtype:'fieldset',
collapsible: true, //是否为可折叠
collapsed: false, //默认是否折叠
title: '单纯输入',
// autoHeight:true, //--
defaults: {width: 300}, //默认属性将会应用到所有的子组件上
defaultType: 'textfield',//当一个子项目通过一个原生的配置对象而不是一个组件的实例指定时, 在当前容器中创建子组件时使用的默认 xtype,默认为 'panel'。
items: [{
fieldLabel: '文本',
name: 'text'
},{
xtype: 'numberfield',
fieldLabel: '数字',
name: 'number'
},{
xtype:"combo",
fieldLabel: '选择',
name: 'combo',
store: new Ext.data.SimpleStore({ //-- ArrayStore
fields: ['value', 'text'],
data: [
['value1', 'text1'],
['value2', 'text2']
]
}),
displayField: 'text', //相关的数据域名称绑定到ComboBox。
valueField: 'value', //相关的数据值名称绑定到ComboBox。
mode: 'local', //--
emptyText:'请选择' //放置到空表单项中的默认文本(默认为null)。
},{
xtype: 'datefield',
fieldLabel: '日期',
name: 'date'
},{
xtype: 'timefield',
fieldLabel: '时间',
name: 'time'
},{
xtype: 'textarea',
fieldLabel: '多行',
name: 'textarea'
},{
xtype: 'hidden',
name: 'hidden'
}]
},{
xtype: 'container',
columnWidth:.3,
/**
* Ext.layout.container.Form
* 这个布局会将表单中所有的输入框纵向的依次的排列, 且宽度与容器宽度相等.
*/
layout:'form',
items:[{
xtype:'fieldset',
//Ext.form.FieldSet-cfg-checkboxToggle
//设置为 true 则在 控件组 组头处显示一个复选框,用来 收缩/展开 控件组.
checkboxToggle:true,
title: '多选',
// autoHeight:true,
defaultType: 'checkbox',
// hideLabels: true, //--
style: 'margin-left:10px;',//自定义风格规范适用于该组件的元素
//Ext.panel.AbstractPanel-cfg-bodyStyle
//用户自定义CSS样式被应用到panel的body元素上
// bodyStyle: 'margin-left:20px;',//无效
items: [{
boxLabel: '首先要穿暖', //一个可选的文本标签,它显示在checkbox的旁边。
name: 'check', //表单项名称。当使用form submit()方法其中包含这个表单项时,name作为参数名称。
value: '1', //表单项的初始化值
checked: true,//如果要让checkbox在渲染后初始化为选中的状态,设置为true。
width: 'auto' //此组件的宽度,以像素为单位。
},{
boxLabel: '然后要吃饱',
name: 'check',
value: '2',
checked: true,
width: 'auto'
},{
boxLabel: '房子遮风避雨',
name: 'check',
value: '3',
width: 'auto'
},{
boxLabel: '行路方便',
name: 'check',
value: '4',
width: 'auto'
}]
},{
xtype:'fieldset',
checkboxToggle:true,
title: '单选',
// autoHeight:true,
defaultType: 'radio',
// hideLabels: true, //--
style: 'margin-left:10px;',
// bodyStyle: 'margin-left:20px;', //无效
items: [{
boxLabel: '渴望自由',
name: 'rad',
value: '1',
checked: true,
width: 'auto'
},{
boxLabel: '祈求爱情',
name: 'rad',
value: '2',
width: 'auto'
}]
}]
}]
},{
xtype: 'container',
// layout: 'form',
/**
* Ext.layout.container.Anchor
* 这个布局将子元素的位置与父容器大小进行关联固定. 如果容器大小改变, 所有固定的子项将按各自的anchor 规则自动被重新渲染固定.
*/
layout :'anchor',
items: [{
labelAlign: 'top',
xtype: 'htmleditor', //提供一个轻量的HTML编辑器组件。
fieldLabel: '在线编辑器',
id: 'editor',
anchor: '100%', //此值为宽度值;
height: 200
}]
}],
buttons: [{
text: '保存'
},{
text: '读取'
},{
text: '取消'
}]
}); form.render("form"); });
后记:可惜的是,本博客做制作的两个表单不支持IE浏览器。
ExtJS4.2学习(16)制作表单(转)的更多相关文章
- Bootstrap学习笔记(二) 表单
在Bootstrap学习笔记(一) 排版的基础上继续学习Bootstrap的表单,编辑器及head内代码不变. 3-1 基础表单 单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文 ...
- SpringMVC学习系列 之 表单标签
http://www.cnblogs.com/liukemng/p/3754211.html 本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图 ...
- Flask基础(16)-->WTForms表单创建和简单验证
Flask基础(16)-->WTForms表单创建和简单验证 前言:使用Flask_WTF需要配置参数SECRET_KEYCSRF_ENABLED是为了CSRF(跨站请求伪造)保护.SECRET ...
- AngularJS 1.2.x 学习笔记(表单校验篇)
https://my.oschina.net/cokolin/blog/526911 摘要: 本文首发于 blog.csdn.net/vipshop_ebs/article/details/39472 ...
- 学习HTML5之表单
HTML5 的标准已经定了,应该火了,或者已经火了.那么是不是可以学习一下呢? 目前h5的主场还是在手机端,pc还是受困于浏览器的兼容,主要是IE在拖后腿.所以这里侧重的是手机里面的表现. 先来看看表 ...
- [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Symfony2学习笔记之表单
对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战的任务.Symfony2集成了一个Form组件,让处理表单变的容易起来.在这一节里,我们将从基础开始创建一个复杂的表单,学习表单类库中最 ...
- PHP再学习1——cURL表单提交、HTTP请求和响应分析
1.前言 最近迷恋WEB方面的技术,虽然自己是一个嵌入式工程师,但是我深知若需要把传感器终端的数据推送至“平台”必然会和WEB技术打交道.在工作中发现嵌入式工程师喜欢 二进制形式的协议,例如MODBU ...
- ASP.NET MVC5 学习系列之表单和HTML辅助方法
一.表单 (一)Action和Method特性 Action特性用以告知浏览器信息发往何处,因此,Action特性后面需要包含一个Url地址.这里的Url地址可以是相对的,也可以是绝对的.如下Form ...
随机推荐
- JAXB - Annotations, Controlling Element Selection: XmlAccessorType, XmlTransient
If JAXB binds a class to XML, then, by default, all public members will be bound, i.e., public gette ...
- 关于 I/O Wait
I/O wait is a per-CPU performance metric showing time spent idle, when there are threads on the CPU ...
- 关于TouchEvent中出现异常:MessageQueue-JNI问题
Tag:MessageQueue-JNI Exception dispatching input event. Exception in MessageQueue callback: handleRe ...
- Spring集成PageHelper的简单用法
1.Maven依赖,注意使用PageHelper时的版本必须与Mybatis版本对应 <!-- 添加Mybatis依赖 --> <dependency> <groupId ...
- 创建Unity新项目并编译成游戏程序
注:本人所使用的Unity版本为:Unity5.3.5f1,所使用的VS版本为:Visual.Studio.2013.Ultimate 折腾了快一个月了,终于有时间做自己的啦,哈哈: ) 步骤一:启动 ...
- hdu 1250 Hat's Fibonacci(高精度数)
// 继续大数,哎.. Problem Description A Fibonacci sequence is calculated by adding the previous two membe ...
- HTML5入门篇
---- HTML5简介 HTML5 是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准的 HTML 标准版本,现在仍处于发展阶段,但大部分浏览器已经支持某些 HTML5 ...
- 使用json方式实现省市两级下拉级联菜单[原创]
本文为博主原创,转载请注明. 首先看一下实现后的效果图: 当然,要完成这个实验,mysql必须与数据库连接,这里选用navicat for mysql这款软件,它与mysql的契合度是很高的,配置环境 ...
- 通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(三)
jar包完成后,剩下就是要构建ANE包来供实际程序调用. 首先要建两个Flex库项目, default那个是官方建议加上的,仅用于不在真实环境下编译调试的时候有个默认接口不至于调用不成功报错,项目结构 ...
- NUnit单元测试
单元测试对程序员来说是非常重要的一门技术,但是在实际编程中却往往被程序员所忽视.微软的VS开发工具为我们提供了强大的单元测试环境,在VS当中可以直接对类库项目进行测试,极大的方便了程序员的自我纠错能力 ...