ExtJS 基础解析之【Ext.FormPanel】之一

摘要:
我们分享了Ext窗口的简单用法。今天我们想看看功能强大的FormPanel,它也继承了面板组件的使用。首先,找出这个问题。创建时://查看源代码。这两种方法是相同的Ext.form.FormPanel=Ext-FormPanel;让我们从最简单的代码示例开始:˂!我们发现,两个文本框的类型和框架度是相同的。我们还可以提取项目中的相同项目,以简化code://Simplify该代码与上述代码相同。varform1=新扩展。form.FormPanel;});渲染与上述相同。

今天我和大家继续分享ExtJS!OK!
上篇中我们分享了Ext.window的简单使用,今天我们要看看强大的FormPanel,也是继承panel组件的使用。
首先弄清楚这个问题,创建的时候: 
//查看源代码便知,两种方法是一样的
Ext.form.FormPanel = Ext.FormPanel;
我们还是从最简单的代码实例开始吧:
<!--html代码-->
<body>
<div id="form1"></div>
</body>

//js代码
        var form1 = new Ext.form.FormPanel({
       350,
       frame:true,//圆角和浅蓝色背景
       renderTo:"form1",//呈现
       title:"青苹果",
       bodyStyle:"padding:5px 5px 0",
       items:[
          {
            fieldLabel:"UserName",//文本框标题
            xtype:"textfield",//表单文本框
            name:"user",
            id:"user",
            200
          },
          {
            fieldLabel:"PassWord",
            xtype:"textfield",
            name:"pass",
            id:"pass",
            200
          }
       ],
       buttons:[{text:"确定"},{text:"取消",handler:function(){alert("事件!");}}]
    });  
        });

效果图:

ExtJS 基础解析之【Ext.FormPanel】之一第1张


都是通过items属性参数把表单元素添加到这个表单中。
我们发现两个文本框的类型和框度是一样的,我们还可以把items里面的相同项提取出来,以简化代码:
//简化代码,和上面的代码效果一样
var form1 = new Ext.form.FormPanel({
       350,
       frame:true,
       renderTo:"form1",
       title:"青苹果",
       bodyStyle:"padding:5px 5px 0",
       defaults:{200,xtype:"textfield"},//*****简化****//
       items:[
          {
            fieldLabel:"UserName",
            //xtype:"textfield",
            name:"user",
            id:"user",
            //200
          },
          {
            fieldLabel:"PassWord",
            //xtype:"textfield",
            name:"pass",
            id:"pass",
            inputType:"password",
            //200
          }
       ],
       buttons:[{text:"确定"},{text:"取消",handler:function(){alert();}}]
    });
    });
效果图和上面的一样。

关于inputType,参数如下:
 //input的各种类型(这个大家都知道,就只列了几个典型的)
 radio
 check
 text(默认)
 file
 password等等
关于FormPanel的配置参数,请主要参考panel的参数,这里列举另外两个:
1.labelAlign:fieldlabel的排列位置,默认为"left",其他两个枚举值是"center","right"
2.labelWidth:fieldlabel的占位宽
3.method:"get"或"post"
4.url:"提交的地址"

5.submit:提交函数 //稍后我们一起详细分析

因为内容太多,我们先看一个例子。
1.FormPanel的fieldset应用
//把前面代码重写items属性

            var form1 = new Ext.form.FormPanel({
       350,
       frame:true,
       renderTo:"form1",
       title:"青苹果",
       bodyStyle:"padding:5px 5px 0",
       defaults:{200,xtype:"textfield"},//*****简化****//
       items:[
          {
            xtype:'fieldset',
            title: '个人信息',
            collapsible: true,
            autoHeight:true,
            330,
            defaults: { 150},
            defaultType: 'textfield',
            items :[{
                    fieldLabel: '爱好',
                    name: 'hobby',
                    value: 'www.cnblogs.com'
                },{
                    xtype:"combo",
                    name: 'sex',
                    store:["男","女","保密"],//数据源为一数组
                    fieldLabel:"性别",
                    emptyText:'请选择性别.'
                }]
            }
       ],
       buttons:[{text:"确定"},{text:"取消",handler:function(){alert();}}]
    });
    });
效果图:

ExtJS 基础解析之【Ext.FormPanel】之一第2张


这里的combox组件只是简单的演示,具体还是要深入了解。
2.关于xtype的类型,在extjs的form表单(其他的请参考api)中已经定义的有:
Form components
---------------------------------------
form             Ext.FormPanel
checkbox         Ext.form.Checkbox
combo            Ext.form.ComboBox
datefield        Ext.form.DateField
field            Ext.form.Field
fieldset         Ext.form.FieldSet
hidden           Ext.form.Hidden
htmleditor       Ext.form.HtmlEditor
label            Ext.form.Label
numberfield      Ext.form.NumberField
radio            Ext.form.Radio
textarea         Ext.form.TextArea
textfield        Ext.form.TextField
timefield        Ext.form.TimeField
trigger          Ext.form.TriggerField

好啦!今天就写到这里吧!今天的东西也不多!为什么每次都比较少呢?是这样的,和大家解释一下,我个人感觉吧如果写的太多了可能就有些乏味了,所以每次一点点,慢慢的积累嘛!对吧!OK今天就和大家分享到这里!也希望大家继续对ExtJS的关注!

ExtJS 基础解析之【Ext.FormPanel】之一第3张

作者:青苹果
座右铭:不断的反省自己!然后加以改变!
感兴趣的技术:.NET、数据库、JavaScript、C#、ajax、winform、jquery、extjs
本文出处:http://www.cnblogs.com/xinchun/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

免责声明:文章转载自《ExtJS 基础解析之【Ext.FormPanel】之一》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Teradata 数据库.net sqlite 内存溢出 问题的分析与解决。下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ExtJS组件的xtype属性列表

ExtJS的应用界面是由很多小部件组合而成的,这些小部件被称作“组件(Component)”,所有组件都是Ext.Component的子类,Ext.Component提供了生命周期管理包括初始化、渲染、大小和尺寸管理、销毁等功能,这使得所有Ext.Component的子类都自动分享了这些能力。ExtJS提供了各式各样丰富的组件,每一个组件都很容易被扩展创建...

sencha touch textarea 手机上不显示滚动条,且不能滚动

最近在项目中发现 sencha touch 中的 textarea 在手机上不显示滚动条,也不能滚动。 在浏览器中之所以能显示滚动条滚动,那是浏览器为 textarea 添加的滚动条。 但在手机中是不会显示滚动条的。 可能在以后的版本中会有所改进吧。 于是只能另想办法了,找了一个老外重写的可滑动的 textarea (无滚动条)。 转: Ext.defin...

ExtJS入门教程01,Window如此简单,你怎能不会?

这是一系列ExtJS教程,今天的是第一篇,主要介绍ExtJS中Window的基本用法。希望大家能够支持! 来吧,创建一个漂亮的弹出窗 var win = Ext.create("Ext.Window", { title: "ExtJS Window", 500, height: 300, autoShow: tru...

EXTJS入门教程及其框架搭建

EXTJS是一个兼容AJAX的前台WEB UI的框架,在普通的HTML文件的 BODY 元素中无须写任何HTML代码,就能产生相应的表格等元素。   首先是为每一个页面定义一个类,再以EXTJS的规范格式增加所需的元素,可以使用所见所得的工具:extbuilder 来操作,这个类将以XXXXX.js的文件名保存,最后在相应的HTML页面中引入相关的JS和...

Extjs6(特别篇)——项目自带例子main.js拆分详解

本文基于extjs6.0.0 一、拆分代码来看看 1、主页面main是个tab页; 写一些页面的依赖; 标明页面的controller和viewModel Ext.define('Learning.view.main.Main', { extend: 'Ext.tab.Panel', xtype: 'app-main',...

[转载]ExtJs4 笔记(6) Ext.MessageBox 消息对话框

 作者:李盼(Lipan) 出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。 本篇演示消息对话框的用法,ExtJs封装了可能用到的各类消息框,并支持自定义的配置。 如下是用到的html: [html] <h1>各...