Ext.form.Panel表单面板

1、Ext.form.FormPanel支持的主要表单组件

ExtJS表单组件说明Xtype类型
Ext.form.field.CheckBox 复选框 checkboxfield
Ext.form.CheckBoxGroup 复选框组 checkboxgroup
Ext.form.field.ComboBox 下拉列表框 combo
Ext.form.field.Date 日期选择框 datefield
Ext.form.field.Display 文本显示组件 displayfield
Ext.form.field.FieldContainer 字段容器 fieldcontainer
Ext.form.field.FieldSet 字段集 fieldset
Ext.form.field.Hidden 隐藏域 hiddenfield
Ext.form.field.HtmlEditer HTML文本编辑器 htmleditor
Ext.form.Label 标签字段 label
Ext.form.field.Number 数字输入框 numberfield
Ext.form.field.Radio 单选框 radio
Ext.form.RadioGroup 单选框组 radiogroup
Ext.form.field.Spinner 微调组件 spinnerfield
Ext.form.field.TextArea 多行文本框 textareafield
Ext.form.field.Text 单行文本框 textfield
Ext.form.field.Time 时间选择框 timefield
Ext.form.field.Trigger 触发器按钮文本框 triggerfield
Ext.form.field.File 文本框上传字段 filefield

2、Ext.form.Panel主要配置项目表

配置项类型说明
buttons Array 一个按钮(Ext.button.Button)配置对象数组,按钮将被添加到表单页脚中
layout String 表单布局
minButtonWidth Number 表单按钮的最小宽度,默认为75px
pollForChanges Boolean 是否循环检查表单值的变化
pollInterval Number 循环检查表单值的时间间隔,默认为500ms
items Mixed 一个子元素或子元素的数组
title String 表单标题

3、Ext.form.FormPanel常用方法表

方法名说明
checkChange:void 强制检查每个表单字段是否发生了变化
getForm():Ext.form.BasicForm 获取表单面板对应的基本表单对象
load(Object options):void 加载表单内容
startPolling(Number interval):void

开始循环检查表单值是否发生了变化

参数说明:

interval:循环检查的时间,单位ms

stopPolling:void 停止startPolling启动的内置任务
submit(Object options):void 提交表单内容

4、Ext.form.field.Base主要配置项目表

配置项类型说明
dirtyCls String 设置表单值被修改后的样式
fieldCls String 设置表单字段的样式,默认为“x-form-field”
focusCls String 设置表单字段获得焦点时的样式,默认为“x-form-focus”
id String 控件的唯一标识,默认系统自动生成一个唯一标识
inputId String 这个id将被应用于生成的input元素,默认情况下这个id自动生成,如果手工配置id则需保证这个id的唯一性
invalidText String 设置表单值无效且并没有提供信息时的显示文字
inputType String 字段类型,默认为text
name String 字段名,默认为undefined
readOnly Boolean 设置字段是否只读,默认为false。
Mixin:Ext.form.field.Field
disabled Boolean true则禁用组件,默认为false。禁用状态下的组件将不被提交
submitValue Boolean 设置表单字段非禁用状态下是否提交表单值,默认为true
validateOnChange Boolean 设置是否在值发生变化时立刻校验的有效性,默认为true
value Mixed 字段的初始化值
Mixing:Ext.form.Labelable
activeError String 如果设置该值,则组件第一次被渲染时该值将被作为错误信息展示,默认为undefined,组件创建之后可以使用setActiveError和unsetActiveError进行修改
activeErrorTpl Ext.XTemplate 错误信息模板
autoFitErrors Boolean 设置为true则自动调节组件体范围,以便在组件范围内显示“side”或“under”状态的错误信息,默认为true
fieldLabel String 设置字段标签,它将与labelSeparator一起被添加,它的位置尺寸决定于labelAlign,labelWidth和labelPad配置项,默认为undefined
hideEmptyLabel Boolean 设置为true则完全隐藏内容为空的标签
hideLabel Boolean 设置为true则完全隐藏表单标签(fieldLabel和labelSeparator),默认为false
labelAlign String

设置表单标签filedLabel的位置,

有效值:left:

标签在字段左边。top:

标签在字段上面。

right:标签在字段右边。

labelPad Number 设置表单标签与表单字段值之间的空白间距,默认为5px
labelSeparator String 设置表单标签与表单字段之间的分隔符
labelStyle String 设置一个直接应用于标签元素的样式字符串,默认为undefined
labelWidth Number 设置表单标签宽度,仅当labelAlign设置为“left”或“right”时生效,默认为100px
labelableRenderTpl Array/String/Ext.Template 表单标签模板
msgTarget String

设置错误信息提示位置,

有效值包括:

qtip:显示一个浮动的提示消息

title:显示一个浏览器浮动提示消息

under:在字段下面显示一个提示消息

side:在字段右边显示一个提示消息

none:不显示提示消息

[element id]:直接将错误消息添加到指定元素的innerHTML属性

preventMark Boolean true则不显示错误消息,默认为false

5、简单实例

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Ext.form.Panel</title>
    <link href="ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
    <script src="ext-4.0.7-gpl/bootstrap.js" type="text/javascript"></script>
    <script type="text/javascript">
        Ext.onReady(function () {
            Ext.QuickTips.init();
            var form = new Ext.form.Panel({
                title: "表单",
                height: 120,
                width: 200,
                frame: true,
                collapsible: true,
                renderTo: Ext.getBody(),
                defaults: {
                    autoFitErrors: "false",
                    labelSeparator: "",
                    labelWidth: 50,
                    width: 150,
                    allowBlank: false,
                    blankText: "必填",
                    msgTarget: "qtip"
                },
                items: [{
                    xtype: "textfield",
                    fieldLabel: "姓名"
                }, {
                    xtype: "numberfield",
                    fieldLabel: "年龄"
                }]
            });
        });
    </script>
</head>
<body style="margin: 30px">
</body>
</html>

效果图:

posted @ 2012-04-15 22:17  libingql  阅读(21101)  评论(0编辑  收藏  举报