鸣谢: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)制作表单(转)的更多相关文章

  1. Bootstrap学习笔记(二) 表单

    在Bootstrap学习笔记(一) 排版的基础上继续学习Bootstrap的表单,编辑器及head内代码不变. 3-1 基础表单 单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文 ...

  2. SpringMVC学习系列 之 表单标签

    http://www.cnblogs.com/liukemng/p/3754211.html 本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图 ...

  3. Flask基础(16)-->WTForms表单创建和简单验证

    Flask基础(16)-->WTForms表单创建和简单验证 前言:使用Flask_WTF需要配置参数SECRET_KEYCSRF_ENABLED是为了CSRF(跨站请求伪造)保护.SECRET ...

  4. AngularJS 1.2.x 学习笔记(表单校验篇)

    https://my.oschina.net/cokolin/blog/526911 摘要: 本文首发于 blog.csdn.net/vipshop_ebs/article/details/39472 ...

  5. 学习HTML5之表单

    HTML5 的标准已经定了,应该火了,或者已经火了.那么是不是可以学习一下呢? 目前h5的主场还是在手机端,pc还是受困于浏览器的兼容,主要是IE在拖后腿.所以这里侧重的是手机里面的表现. 先来看看表 ...

  6. [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. Symfony2学习笔记之表单

    对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战的任务.Symfony2集成了一个Form组件,让处理表单变的容易起来.在这一节里,我们将从基础开始创建一个复杂的表单,学习表单类库中最 ...

  8. PHP再学习1——cURL表单提交、HTTP请求和响应分析

    1.前言 最近迷恋WEB方面的技术,虽然自己是一个嵌入式工程师,但是我深知若需要把传感器终端的数据推送至“平台”必然会和WEB技术打交道.在工作中发现嵌入式工程师喜欢 二进制形式的协议,例如MODBU ...

  9. ASP.NET MVC5 学习系列之表单和HTML辅助方法

    一.表单 (一)Action和Method特性 Action特性用以告知浏览器信息发往何处,因此,Action特性后面需要包含一个Url地址.这里的Url地址可以是相对的,也可以是绝对的.如下Form ...

随机推荐

  1. 关于java实现同步的方法

    什么是线程同步? 当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题. 实现同步机制有两个方法: 1. 同步代码 ...

  2. tcl/tk

    http://blog.csdn.net/dulixin/article/category/365058 http://blog.csdn.net/dulixin/article/category/3 ...

  3. sparkSQL1.1入门

    http://blog.csdn.net/book_mmicky/article/details/39288715 2014年9月11日,Spark1.1.0忽然之间发布.笔者立即下载.编译.部署了S ...

  4. Linux 网络相关命令

    1.修改ip,dns相关:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.ifconfig 查找ip,mac地址 3.重启网络:sudo ser ...

  5. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

    http://wandering192.iteye.com/blog/758954 谢谢作者

  6. [.Net MVC] 使用SQL Server数据库代替LocalDb

    之前开发的时候一直用的VS2013,所以数据库也用的LocalDb,这给开发带来很大便利.不过由于开发后还要进行部署,就改用了SQL Server 2012,这里总结下过程. 基本环境:VS2013, ...

  7. 376. Wiggle Subsequence

    A sequence of numbers is called a wiggle sequence if the differences between successive numbers stri ...

  8. Word 2010巧妙绘制各种分割线的方法(图文)

    引用: 使用Word编辑文档时,可能为了使某些内容醒目显示,或者为了使文档内容显示的更美观.更有层次感,需要为文档添加一些分割线,如添加下框线.插入水平线.使用特殊符号快速绘制分割线等等.在Word ...

  9. 简单模拟struts2核心控制器利用反射原理实现参数传递和物理视图跳转

    在能够运用struts2框架进行简单网站开发后,对struts2的一些较原框架强大的功能希望有更深刻的理解,于是尝试从底层开始摸索,本文就在重新学习struts2后,利用简单代码对核心控制器的主要功能 ...

  10. 【译】velocity

    本文原文地址:http://davidwalsh.name/intro-javascript-animation 就像许多开发者确信的那样,在Web上使用CSS实现动画并不是唯一的方式,我们也可以使用 ...