`
hn2002
  • 浏览: 59190 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ext.FormPanel

    博客分类:
  • ext
阅读更多

Ext2.0 form 不单增加了时间输入控件、隐藏输入控件,还修改了创建方法 ,通过 formpanel 代替了原来 form column 也根据新的布局定义更新了定义方式。总体来说,定义一个 form 更简单便捷了。本文将通过一个实例介绍一下 2.0 form 的创建以及其大部分控件的使用方法,因水平有限,错漏难免,忘大家多多谅解!

在创建一个 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>

我们来看看效果:

<!--[if !vml]-->
<!--[endif]-->
 

在没有使用 float 之前,两个子 div 是分别各占一行的。好,现在我们在两个子 div 中加入“ float:left ”在看看效果:

 

  <div style='background:black;width:200px;height:200px;'>

              <div style='background:red;width:50px;height:50px;float:left;'></div>

              <div style='background:green;width:50px;height:50px;float:left;'></div>

       </div>

 

 

<!--[if !vml]-->
<!--[endif]-->

两个子 div 出现在同一行了。我们复制一下两个子 div ,粘贴两次,然后看看效果:

       <div style='background:black;width:200px;height:200px;'>

              <div style='background:red;width:50px;height:50px;float:left;'></div>

              <div style='background:green;width:50px;height:50px;float:left;'></div>

              <div style='background:red;width:50px;height:50px;float:left;'></div>

              <div style='background:green;width:50px;height:50px;float:left;'></div>

              <div style='background:red;width:50px;height:50px;float:left;'></div>

              <div style='background:green;width:50px;height:50px;float:left;'></div>

       </div>

 

 

<!--[if !vml]-->
<!--[endif]-->

6 个子 div 有序的按左对齐方式排列在一起了,当一行的子 div 的宽度超过了父 div 的宽度时,子 div 自动换行到了第二行。

不知道大家是否看得明白?看不明白自己再动手改变一下子 div 的宽度和高度,看看效果。 column 工作 方式就是这样的

分享到:
评论

相关推荐

    .archExtJs2.0学习系列(7)--Ext.FormPanel之第四式(其他组件示例篇).doc

    首先,Ext.FormPanel是ExtJS中用于创建表单的主要组件,它允许我们构建复杂的表单布局并处理用户输入的数据。 1. **Checkbox简单示例** Checkbox在ExtJS中用于创建复选框,可以用来让用户选择多个选项。在示例中,...

    Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别

    在EXTJS框架中,`Ext.FormPanel`和`Ext.Ajax.request`提供了两种不同的异步提交方法,它们各自有其特点和适用场景。下面我们将详细探讨这两种方式的区别。 1. **Ext.FormPanel的异步提交** `Ext.FormPanel` 是...

    EXT.form组件

    1. `form`:`Ext.FormPanel`是EXT JS中的表单面板,它是一个容器,可以容纳各种表单字段和其他组件。表单面板允许你定义布局、提交行为以及处理表单数据的方法。 2. `checkbox`:`Ext.form.Checkbox`是用于创建复选...

    Ext 添加功能form表单实例

    在这个例子中,通过`new Ext.FormPanel`来创建了一个表单面板,并设置了一些关键属性: - `frame`: 设置为`true`,表示表单周围有一个边框。 - `width` 和 `height`: 分别设置了表单的宽度和高度。 - `layout`: ...

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

    **2.16 Form Panel (Ext.FormPanel)** - **xtype**: `form` - **功能描述**:Form Panel 是一个包含表单字段的面板。 - **主要用途**:用于创建和管理表单,支持数据验证和提交。 **2.17 Checkbox (Ext.form....

    ext几个实例

    【EXTJS】Ext.AJAX与FormPanel在登录案例中的应用 EXTJS是一个强大的JavaScript库,主要用于构建富客户端Web应用程序。在EXTJS中,Ext.AJAX和Ext.FormPanel是两个核心组件,它们分别用于异步与服务器进行数据交互和...

    ExtJs_xtype一览

    - `form`:`Ext.FormPanel` 或 `Ext.form.FormPanel`,用于创建表单的容器。 - `checkbox`:`Ext.form.Checkbox`,多选框组件。 - `combo`:`Ext.form.ComboBox`,下拉选择框。 - `datefield`:`Ext.form....

    Extjs帮助文档.pdf

    接下来将详细介绍文档中提到的几个核心概念,包括`Ext.MessageBox`、`Ext.Panel`、`Ext.Window`、`Ext.FormPanel`、`Ext.TabPanel`、`Ext.XTemplate`和`Ext.TreePanel`以及如何在Extjs中实现主题(换肤)功能。...

    Ext js Xtype

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

    ExtJs组件类的对应表

    1. **`form`** - `Ext.FormPanel`或`Ext.form.FormPanel`,表单面板组件,用于创建表单并管理其字段。 2. **`checkbox`** - `Ext.form.Checkbox`,多选框组件,用于创建多选输入。 3. **`combo`** - `Ext.form....

    extJs xtype 类型

    1. **`form`:** 表单面板组件,用于创建表单,通过`Ext.FormPanel/Ext.form.FormPanel`类实现。 2. **`checkbox`:** 多选框组件,通过`Ext.form.Checkbox`类实现。 3. **`combo`:** 下拉框组件,用于创建下拉列表...

    ExtJs xtype一览

    - **`form` (Ext.FormPanel/Ext.form.FormPanel)**: 表单面板组件,用于创建包含多个表单元素的表单。 - **`checkbox` (Ext.form.Checkbox)**: 多选框组件,用于实现多选功能。 - **`combo` (Ext.form.ComboBox)**: ...

    Extjs实用教程

    - **FormPanel**: `Ext.FormPanel`,表单容器。 - **Checkbox**: `Ext.form.Checkbox`,复选框。 - **ComboBox**: `Ext.form.ComboBox`,下拉选择框。 - **DateField**: `Ext.form.DateField`,日期输入框。 - ...

    用ext来登录的程序代码

    2. **Ext.FormPanel**: 表单面板组件,用于组织和管理表单控件。 3. **Ext.MessageBox**: 模态对话框组件,用于显示消息、警告或确认对话框。 4. **Ext.form.Field**: 基础的表单字段组件,提供了表单验证和数据绑定...

    extjs form textfield的隐藏方法

    this.formpanel = new Ext.FormPanel({ items: [{ fieldLabel: ‘代码’, name: ‘FCode’, anchor:’100%’, id: ‘fid’ },{ fieldLabel: ‘名称’, name: ‘FName’, anchor:’100%’ // anchor width by ...

    ExtJs中处理后台传过来的date对象显示到页面上

    var store = Ext.create('Ext.data.Store', { model: 'Employee', proxy: { type: 'ajax', url: '/api/employees', reader: { type: 'json', rootProperty: 'data' } }, autoLoad: true }); ``` 3. **...

    ext2.0 详解和API

    3. **窗体组件**:如Ext.FormPanel,用于创建表单,支持数据验证和提交。 4. **数据管理**:如Ext.data.Store,用于存储和管理数据,可以与各种数据源(如XML、JSON)进行交互。 5. **表格组件**:如Ext.grid....

Global site tag (gtag.js) - Google Analytics