`
askme
  • 浏览: 57337 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ext.form表单中各种属性应用详解

    博客分类:
  • ext
阅读更多


Ext.form.NumberField

继承自Ext.form.TextField,因为Ext.form.TextField虽然强大,但写起来的确还是有点麻烦,后面的类都继承自Ext.form.TextField,没有自定义的方法,属性和事件

config定义为{

    allowDecimals : Boolean    //true

    allowNegative : Boolean    //true

    baseChars : String    //'0123456789'

    decimalPrecision : Number    //精度,默认值2

    decimalSeparator : String    //小数分隔符

    fieldClass : String    //默认样式为x-form-field x-form-num-field

    maxText : String

    maxValue : Number    //默认Number.MAX_VALUE

    minText : String

    minValue : Number    //默认Number.NEGATIVE_INFINITY

    nanText : String    //NaN时显示?

}

Ext.form.TextArea

config{

    autoCreate : String/Object    //{tag: "textarea", style: "width:100px;height:60px;", autocomplete: "off"}

    growMax : Number    //1000

    growMin : Number    //60

    preventScrollbars : Boolean    //如果为真等于设置overflow: hidden,默认为false

}

Ext.form.TriggerField

这个类只要text旁边加了个下拉按钮,要自己实现onTriggerClick

config{

    autoCreate : String/Object,    //{tag: "input", type: "text", size: "16", autocomplete: "off"}

    hideTrigger : Boolean        //隐藏trigger,就是右边的那个下拉选择框

    triggerClass : String

}

事件

onTriggerClick( EventObject e ) : void

Ext.form.DateField

继承自TriggerField,用于日期选择

config{

    altFormats : String        //转换用户输入到日期时的格式,默认'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d'

    autoCreate : String/Object    //{tag: "input", type: "text", size: "10", autocomplete: "off"}

    disabledDates : Array        //禁止选择的日期:例 ["^03","04/../2006","09/16/2003"],不让选3月,2006年4月,2003年9月16

    disabledDatesText : String    //不让选总得给个理由吧

    disabledDays : Array    //不让选星期几,例[0,6],不让选周六,周日

    disabledDaysText : String    //周日要休息,这就是理由

    format : String    //显示时的格式

    invalidText : String    //验证非法时的提示

    maxText : String

    maxValue : Date/String

    minText : String

    minValue : Date/String

    triggerClass : String

}

方法,除了构造,多了两个顾名思义的方法

DateField( Object config )

getValue() : Date

setValue( String/Date date ) : void



Ext.form.ComboBox

config{

    allQuery : String        //''

    autoCreate : Boolean/Object    //{tag: "input", type: "text", size: "24", autocomplete: "off"}

    displayField : String    //显示字段

    editable : Boolean        //true当然就是combobox了,如果不可编辑就是一个select了

    forceSelection : Boolean

    handleHeight : Number    //如果resiable为真时,设置

    hiddenName : String

    lazyInit : Boolean    //除非得到焦点才开始初始化列表,默认为真

    lazyRender : Boolean    //除非请求,才开始输出,默认为假

    listAlign : String    //对齐方式,参见Ext.Element.alignTo,默认为'tl-bl'

    listClass : String

    listWidth : Number

    loadingText : String    //仅当mode = 'remote'时调用数据时显示的文本

    maxHeight : Number        //300

    minChars : Number        //最少输入多少个字开始响应,远程时默认为4,本地为0,如果不可编辑则此值无效

    minListWidth : Number

    mode : String    //可选值local/remote之一,从本地还是远程取数据

    pageSize : Number    //在远程模式下,如果此值大于0会在底部显示一个翻页工具条

    queryDelay : Number    //查询延时,远程默认为500,本地10

    queryParam : String    //查询参数,默认为query

    resizable : Boolean

    selectOnFocus : Boolean

    selectedClass : String

    shadow : Boolean/String    //True或"sides"为默认风格, "frame" for 4-way shadow, and "drop" for bottom-right

    store : Ext.data.Store

    title : String

    transform : Mixed    //对应一个select元素,可以将select转为combobox对象

    triggerAction : String    //点击按钮时的动作.默认为query

    triggerClass : String

    typeAhead : Boolean        //false

    typeAheadDelay : Number    //250

    valueField : String

    valueNotFoundText : String    //值不存在时的提示信息

}

属性

view : Ext.DataView

方法

ComboBox( Object config )

构造

clearValue() : void

清除所有文本/值对

collapse() : void

expand() : void

收起/展开下拉列表

doQuery( String query, Boolean forceAll ) : void

执行查询

getValue() : String

选择当前字段的值

isExpanded() : void

下拉列表是展开的?

select( Number index, Boolean scrollIntoView ) : void

选中第index列表项

selectByValue( String value, Boolean scrollIntoView ) : Boolean

选中值为value的列表项

setEditable( Boolean value ) : void

设editable属性为value

setValue( String value ) : void

设置当前值为

事件

beforequery : ( Object queryEvent )

beforeselect : ( Ext.form.ComboBox combo, Ext.data.Record record, Number index )

collapse : ( Ext.form.ComboBox combo )

expand : ( Ext.form.ComboBox combo )

select : ( Ext.form.ComboBox combo, Ext.data.Record record, Number index )

Ext.form.TimeField

继承自combobox,用于选择时间

config{

    altFormats : String    //

    format : String

    increment : Number    //时间增长间隔,默认15

    invalidText : String

    maxText : String

    maxValue : Date/String

    minText : String

    minValue : Date/String

}

总的来说Ext.form对input type='text' select 这样的输入标签都有对应的类,并对有些标签做了简单的扩展,当然很重要的一点,漂亮多了,vtype属性也方便了处理,建议有兴趣的同胞对 Ext.form.VTypes和Ext.form.HtmlEditor做一些扩展

form中还有两个类,比如下例中的FormPanel和FieldSet,

都继承自panel,所以会放在panel中解释

综合示例

    Ext.QuickTips.init();

 

    var arr=[ [1, '本.拉登'], [2, '笨.拉登'],[3, '笨.拉灯'] ];

    var reader = new Ext.data.ArrayReader(

   ...{id: 0},

   [

    ...{name: 'value'},      

    ...{name: 'key'} 

    ]);

 

    var store=new Ext.data.Store(...{

      reader:reader

   });

   store.loadData(arr);

 

    var htmleditor=new Ext.form.HtmlEditor(...{

        fieldLabel:'htmleditor',

        width:450,

        fontFamilies:['宋体','隶书'],

        name:'editor',

        id:'editor'

    });

       var form = new Ext.FormPanel(...{

        labelWidth: 75,

        url:'post.php',

        frame:true,

        width: 800,

        defaultType: 'textfield',

        items: [

            new Ext.form.Checkbox(...{     //checkbox

                fieldLabel:'checkbox',

                name:'cb',

                checked:true,

                boxLabel:'checkbox'

            }),

            new Ext.form.FieldSet(...{ //radio

                border:false,

                title:'radio',

                items:[

                    new Ext.form.Radio(...{

                        labelSeparator:'',

                        name:'radio',

                        checked:true,

                        boxLabel:'radio 1'

                    }),

                    new Ext.form.Radio(...{

                        labelSeparator:'',

                        name:'radio',

                        checked:true,

                        boxLabel:'radio 2'

                    })

                ]

             }),

            new Ext.form.Hidden(...{   //hidden

                name:'hidden'

            }),

         

            htmleditor,

            new Ext.form.TextField(...{ //text

                fieldLabel:'text',

                name:'text',

                grow:true,

                allowBlank:false,

                blankText : "这个字段最好不要为空",

                maskRe:/[a-zA-z]/gi

            }),

            new Ext.form.NumberField(...{  //NumberField

                allowNegative:true,

                fieldLabel:'number',

                  name:'number'

            }),

            new  Ext.form.TextArea(...{    //TextArea

                fieldLabel:'textarea',

                name:'textarea'

            }),

            new Ext.form.TriggerField(...{ //TriggerField

                fieldLabel:'TriggerField',

                name:'TriggerField'

            }),

            new Ext.form.ComboBox(...{ //select

                fieldLabel:'select',

                editable:false,

                triggerAction: 'all',

                valueField:'value',

                displayField:'key',

                mode: 'local',

                store:store

            }),

            new Ext.form.ComboBox(...{ //combobox

                fieldLabel:'ComboBox',

                displayField:'key',

                mode: 'local',

                store:store

            }),

            new Ext.form.DateField(...{ //DateField

                fieldLabel:'DateField',

                format:'Y-m-d',

                disabledDays:[0,6]

            }),

            new Ext.form.TimeField(...{//TimeField

                fieldLabel:'TimeField',

                mode: 'local',

                increment:60

             

            })

            ]

        });

form.render(document.body);

htmleditor.setRawValue("<h1>hello world</h1>");

htmleditor.syncValue();
分享到:
评论

相关推荐

    Ext组件描述,各个组件含义

    ### Ext组件概述与详解 #### 一、Ext基础组件 **1.1 Box Component (Ext.BoxComponent)** - **xtype**: `box` - **功能描述**:Box Component 是一个非常基本的 Ext 组件,主要用于定义具有边框和其他布局属性的...

    EXT异步提交FORM表单

    ### EXT异步提交FORM表单知识点详解 #### 一、EXT异步提交FORM表单概述 在现代Web应用开发中,异步提交表单是一种常见的技术手段,它能够提升用户体验,减少页面刷新带来的数据丢失风险,并能有效提高系统的响应...

    EXT核心API详解.doc

    EXT核心API详解主要涵盖了一系列与EXT.js库相关的类和对象,EXT.js是一个强大的JavaScript UI框架,用于构建富客户端Web应用程序。以下是对各个类的详细解释: 1. **Ext类**:EXT库的基础类,提供了许多实用的方法...

    EXT表单验证之TextField

    总而言之,EXT表单验证中的TextField组件通过`vtype`属性提供了丰富的验证机制,能够确保用户输入的数据质量,从而提高应用程序的稳定性和用户体验。开发者可以根据需要选择合适的vtype,或者自定义验证规则,以满足...

    extjs帮助文档pdf版

    - `Ext.apply()`: 将一个对象的属性合并到另一个对象中。 #### 2. Array 类 (P.4) - **概述**:提供了一系列操作数组的方法。 - **常用方法**: - `Ext.Array.contains(array, item)`: 检查数组是否包含特定项。 ...

    Ext.data专题

    ### Ext.data专题详解 #### 一、Ext.data概述 **Ext.data** 是一个重要的JavaScript库组件,用于处理数据传输和管理。它定义了一系列的核心概念,包括 **Store**、**Reader** 和 **Proxy**,这些都是Ext.data的...

    Extjs fieldset两行两列布局

    在Extjs框架中,`FieldSet`是一种常见的组件,常用于组织一组相关的表单字段,并通过一个标题来标识这组字段的主题。本文将详细介绍如何使用Extjs实现一个两行两列布局的`FieldSet`。 #### 一、整体结构设计 首先...

    ext控件form相关配置

    其中,`Form`控件是Ext JS中一个非常重要的组成部分,它为开发者提供了创建各种类型表单的功能,包括简单的登录表单到复杂的多步骤表单。本文将深入探讨Ext JS中的`Form`控件及其相关配置,帮助开发者更好地理解和...

    extjs-form组件配置参数详解

    `Ext.form.Action`是ExtJS中的一个类,用于处理表单提交和加载数据的动作。它提供了多种配置选项和属性来控制表单操作的过程。 **配置项** - **success**: 执行成功后的回调函数,该函数接收两个参数:`form`(当前...

    extjs4.2 日期控件扩展带时分秒

    - 在创建过程中,会根据当前控件的配置项(如`minDate`、`maxDate`等)初始化日期时间选择器的各种属性。 - **onExpand()** - 当控件展开时触发此方法,用于设置日期时间选择器的初始值。 - 如果当前控件有已选中...

    extjs属性方法大全

    以上是 `Extjs` 中常用的表单类及其属性和方法的详细介绍,这些类和方法提供了丰富的功能,帮助开发者快速构建功能完备的 Web 表单应用。通过掌握这些基础知识,可以有效地提高开发效率并确保应用程序的质量。

    精通JS脚本之ExtJS框架.part1.rar

    7.1.2 ExtJS对Form表单的封装 7.2 ExtJS的表单组件 7.2.1 文本输入控件Ext.form.TextField 7.2.2 多行文本输入控件Ext.form.TextArea 7.2.3 单选框 7.2.4 复选框 7.2.5 下拉列表框 7.2.6 日期输入控件Ext....

    Ext表单之loadRecord用法详解

    总结来说,`loadRecord`是Ext JS表单处理中的关键方法,它有效地实现了数据Record与表单字段的映射,使得在Web应用中展示和编辑数据变得简单直观。通过理解和熟练掌握这个方法,开发者能够更好地构建交互性强、用户...

    ext 2.0 form demo

    EXT 2.0 Form Demo 知识点详解 EXT是一个流行的JavaScript库,它专注于构建功能丰富的、用户界面复杂的Web应用程序。EXT 2.0版本在当时是一个重要的里程碑,引入了许多新特性和改进,特别是在表单处理方面。在这个...

    Extjs验证表单 Extjs验证表单

    ### Extjs 表单验证详解 #### 一、引言 在现代Web开发中,确保用户输入的有效性和安全性至关重要。Extjs作为一种强大的JavaScript框架,提供了丰富的功能来帮助开发者轻松实现客户端验证。本文将深入探讨Extjs中的...

    Ext js Xtype

    - **Form Components**: 用于构建表单的组件,如`Ext.FormPanel`,`Ext.form.Checkbox`,`Ext.form.TextField`等。 - **Chart Components**: 提供了各种图表组件,如`Ext.chart.Chart`,`Ext.chart.BarChart`,`Ext....

Global site tag (gtag.js) - Google Analytics