- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ext20form使用实例
?Ext2.0 form使用实例
Ext2.0的form不单增加了时间输入控件、隐藏输入控件,还修改了创建方法,通过formpanel代替了原来form,column也根据新的布局定义更新了定义方式。总体来说,定义一个form更简单便捷了。本文将通过一个实例介绍一下2.0的form的创建以及其大部分控件的使用方法,因水平有限,错漏难免,忘大家多多谅解!
我们先来看看我们将要设计的form的情况:
??
呵呵,form有点杂乱,不过在这个fomr里包含了绝大部分Ext2.0的控件,我将会和大家一起探讨一下这些控件的使用。
在创建一个form之前,我们先增加以下语句:
?
??? Ext.QuickTips.init();
??? Ext.form.Field.prototype.msgTarget = side;?
第一句的目的是为需要的元件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息了。
第二句的目的就是设置控件的错误信息显示位置,主要可选的位置有:
位置值描述qtip当鼠标移动到控件上面时显示提示title在浏览器的标题显示,但是测试结果是和qtip一样的under在控件的底下显示错误提示side在控件右边显示一个错误图标,鼠标指向图标时显示错误提示[element id]错误提示显示在指定id的HTML元件中这个大家可以根据各人喜好设置,我习惯使用“side”,这里有一点要注意的,就是注意控制控件的宽度,以防不够宽度显示错误图标,这个下面会说到。
好了,现在创建我们的form,2.0的方法就是直接创建一个formpanel:
?
var simpleForm = new Ext.FormPanel({
??? labelAlign: left,
??? title: 表单例子,
??? buttonAlign:right,
??? bodyStyle:padding:5px,
??? width: 600,
??? frame:true,
??? labelWidth:80,
items: [],
buttons: []
});
simpleForm.render(document.body);?
在formpanle里,我们定义了form控件的标题是在左边的(labelAlign: left);form的标题栏显示标题“表单的例子”;它的按钮位置是在右对齐的(buttonAlign:right);边的类型设置了内补丁5px(bodyStyle:padding:5px);总宽度是600px;设置了面板的边角是圆弧过度的(frame:true),我设置这个???性主要目的不是因为边角,而是因为背景,如果不设置这个,背景颜色将为白色,设置了这个将会加入海蓝色的背景图,好看点;还设置了form控件的标题宽度是80px(labelWidth:80)。还有一些其它的设置选项,我这里就不多说,大家可以参看2.0的API。
items数组的设置是我们的重点了,form上的所有控件都是在这里设置的。
从form的结构图中看到,form整体上是分了两列的(实际上不是的,呵呵)。因为要分列,所以要使用columnLayout类。在使用columnLayout类之前,我们需要了解一下CSS中float属性的作用,改属性主要作用是设置对象是否及如何浮动,属性值为none、left和right三个。column设置是left,意思就是对象浮在左边的。那这个有什么作用呢?其实这个和我们在word中输入文字,默认文字是左对齐的,当一行文字的宽度超过页面的宽度时将自动换行是一样的。 我们通过一个例子来说明一下。
首先我们定义一个div,背景色是黑色,宽度和高度都是200:
?
?????? div style=background:black;width:200px;height:200px;
?????? /div?
然后在里面加入2个div,每个宽度和高度都是200,背景色一个是红色,一个是绿色:
?
?????? div style=background:black;width:200px;height:200px;
????????????? div style=background:red;width:50px;height:50px;/div
????????????? div style=background:green;width:50px;height:50px;/div
?????? /div我们来看看效果:
??
在没有使用float之前,两个子div是分别各占一行的。好,现在我们在两个子div中加入“float:left”在看看
文档评论(0)