`
猪↘專屬|华
  • 浏览: 164062 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

extjs的form表单

阅读更多

Ext.onReady(function(){
 //提示信息初始化
 Ext.QuickTips.init();
 /*//创建一个窗口,将注册窗口放到里面去
 var panel = new Ext.Window({
  bodyStyle:"center",
  renderTo:Ext.getBody()
 });*/
 
 var jsons = [
              {cid:1,cname:"长沙"},
              {cid:2,cname:"株洲"},
              {cid:3,cname:"湘潭"},
              {cid:4,cname:"衡阳"}
             ];
 
 //创建代理
 var proxy1 = new Ext.data.MemoryProxy(jsons);
 
 var city = Ext.data.Record.create([
       {name:"cid",type:"int",mapping:"cid"},
       {name:"cname",type:"String",mapping:"cname"}
 ]);
 
 //创建reader
 var reader1 = new Ext.data.JsonReader({},city);
 
 //远程调用的JSON数据
 var reader = new Ext.data.JsonReader({},
   [{name:"username",type:"String",mapping:"username"},
   {name:"password",type:"String",mapping:"password"},
   {name:"sex",type:"String",mapping:"sex"},
   {name:"love",type:"String",mapping:"love"}]
 );
 //创建Store
 var store1 = new Ext.data.Store({
  proxy:proxy1,
  reader:reader1,
  autoLoad:true
 });
 
   var combobox = new Ext.form.ComboBox({
  //renderTo:Ext.getBody(),
  triggerAction:"all",
  store:store1,
  displayField:"cname",
  valueField:"cid",
  mode:"local",
  emptyText:"请选择湖南城市"
 });
 //panel的子类formPanel,做一个登录的窗口==================================================
 var formPanel = new Ext.form.FormPanel({
  //url:'',//表单提交的地址
  method:"post",
  baseParams:{extra:"中华人民共和国",id:100},//隐藏表单域传值
  defaultType:"textfield",//下面的items没有定义xtype属性时,默认为textfield
  title:"会员注册",//标题
  width:500,//宽度
  height:400,//高度
  bodyStyle:"padding:6px",//正文区域样式
  frame:true,
  labelAlign:"right",
  items:[
       //文本域
       new Ext.form.TextField({
          name:"username",
          allowBlank:false,
          width:200,
          fieldLabel:"用户名",
          labelAlign:"right"
          //regex:/^\w{6,}$/自定义的规则
         }),
      //密码域
         {
          name:"password",//密码
          width:200,
          allowBlank:false,//是否允许为空
          inputType:"password",//输入类型
          xtype:"textfield",//相当于new Ext.form.textField
          fieldLabel:"密码",//文本框提示信息
          labelAlign:"right"
         },
      //单选按钮组
      new Ext.form.RadioGroup({
          name:"sex",
         fieldLabel:"性别",
         items:[
              new Ext.form.Radio({
               name:"radSex",//单选按钮的属性
               checked:true,//是否被选中
               boxLabel:"男",//显示值
               inputValue:"man"//实际值
              }),
              new Ext.form.Radio({
               name:"radSex",//单选按钮的属性
               boxLabel:"女",
               inputValue:"woman"
              })
         ],
         width:100
        }),
      //复选框组
      new Ext.form.CheckboxGroup({
       name:"love",
       fieldLabel:"我的爱好",
       items:[
            new Ext.form.Checkbox({
             name:"lovely",
             boxLabel:"看EXT",
             inputValue:"girl",
             checked:true
            }), 
            new Ext.form.Checkbox({
             name:"lovely",
             boxLabel:"上网",
             inputValue:"internet"
            }),
            new Ext.form.Checkbox({
             name:"lovely",
             boxLabel:"钓鱼",
             inputValue:"fish"
            }),
            new Ext.form.Checkbox({
             name:"lovely",
             boxLabel:"打牌",
             inputValue:"card"
            })
       ],
       width:300
      }),
      //数字框
      new Ext.form.NumberField({
       fieldLabel:"最喜欢的数字",
       width:200,
       name:"numName"
      }),
       new Ext.form.TextField({
        name:"urladdress",
        allowBlank:false,
        width:200,
        fieldLabel:"个人喜欢的网站",
        labelAlign:"right",
        vtype:"url"
       
       }),
       new Ext.form.TextField({
        name:"email",
        width:200,
        allowBlank:false,
        fieldLabel:"个人邮箱",
        labelAlign:"right",
        vtype:"email"
       
       }),
      //下拉选项
      combobox
      ,
      //家庭地址,文本域
      new Ext.form.TextArea({
       name:"familyAddress",
       fieldLabel:"家庭地址",
       width:250,
       height:50
      }),
      //时间点选择器
      new Ext.form.TimeField({
       name:"workTime",
       xtype:"timefield",
       fieldLabel:"上班时间",
       increment:30,//增长间隔
       format:"H:i",//格式
       minValue:"6:00",//最小时间
       maxValue:"21:00"//最晚时间
      }),
      //在线编辑器
     /* new Ext.form.HtmlEditor({
       name:"htmlEdit",
       fieldLabel:"在线编辑器",
       height:150,
       enableLists:false,
       enableSourceEdit:false
      }),*/
      //上传文件域
      new Ext.form.TextField({
       name:"photo",
       fieldLabel:"上传照片",
       inputType:"file",
       width:"300px"
      })
  ],
  buttons:[{
   text:"用户注册",
   tooltip:"点击此按钮<br>进行用户注册",
   tooltipType:"qtip",
   handler:function(){
    var username = formPanel.getForm().findField("username").getValue();
    var password = formPanel.getForm().findField("password").getValue();
    Ext.MessageBox.alert("提示信息",username+"正在登录,密码为:"+password);
    //提交表单是以AJAX提交的(默认)
    /*formPanel.getForm().submit({
     success:function(){
     },
     failure:function(){
     }
    });*/
   }
  },{
   text:"重置",
   tooltip:"点击此按钮,<br>您填写的值将会被清空",
   tooltipType:"qtip",
   handler:function(){
       formPanel.getForm().reset();//重置表单
   }
  },{//用本地的数据初始化
   text:"本地数据",
   tooltip:"点击此按钮,<br>表格将会被本地数据初始化",
   tooltipType:"qtip",
   handler:function(){
    var json = {
      username:"朱湘鄂",
      password:"123123",
      sex:"woman",//单选按钮不支持中文
      love:"card"
    };
       formPanel.getForm().setValues(json);//重置表单
   }
  },{//用本地的数据初始化
   text:"远程数据",
   tooltip:"点击此按钮,<br>表格将会远程数据被初始化",
   tooltipType:"qtip",
   handler:function(){
       formPanel.getForm().reader = reader;//
       formPanel.load({url:"../formJson"});
   }
  }],
  buttonAlign:"center",
  renderTo:Ext.getBody()
 });
 
 
});

0
0
分享到:
评论

相关推荐

    ExtJs 动态添加表单

    首先,我们要理解表单(Form)在ExtJS中的基本概念。表单是数据输入和验证的核心组件,可以包含各种字段类型,如文本框、下拉菜单、复选框等。这些字段可以通过`Ext.form.field.Field`基类进行扩展,每个字段都有其...

    ExtJs获取表单元素的值

    在本篇文章中,我们将深入探讨如何在ExtJs框架中有效地获取表单元素的值,并结合提供的代码示例进行详细解析。对于前端开发者来说,掌握如何高效地操作表单元素是必不可少的一项技能,尤其是在使用像ExtJs这样的强大...

    Extjs优化(二)Form表单提交通用实现

    在本文中,我们将深入探讨如何优化EXTJS中的Form表单提交过程,特别是在EXTJS应用程序中。EXTJS是一个强大的JavaScript框架,用于构建富客户端Web应用程序,而表单提交是任何应用程序中不可或缺的部分。优化这一过程...

    Extjs4的FormPanel从后台load json数据的要点

    `Ext.form.Panel`是Extjs4提供的一个用于创建复杂表单的组件。它允许开发者构建包含多个输入字段、按钮以及其他交互元素的表单,并且提供了大量的功能来帮助处理表单数据,如验证、提交以及数据绑定等。 ### 二、...

    ExtJs4.0 表单提交Demo

    ExtJs 4.0的FormPanel对象提供了`getForm()`方法获取表单实例,然后通过`form.submit()`或`form.serialize()`方法完成数据的序列化。 4. **表单提交过程** - **创建表单组件**:首先,定义一个FormPanel,并在其...

    extjs-form组件配置参数详解

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

    ExtJS的表单

    ExtJS的表单使用FormPanel容器 表单使用的布局方式:form和formtable布局 ExtJS的表单和html的form标签是相似的,新建一个FormPanel实际上就是新建一个html的form标签,只是添加许多Ext的样式而已

    extjs动态表单

    2. **创建表单实例**:使用ExtJS的`Ext.form.Panel`或其他相关的表单类来创建一个空的表单容器。 3. **动态生成字段**:根据数据模型或者运行时的条件动态创建并添加字段到表单中。 4. **数据绑定**:将表单与数据...

    Extjs验证表单 Extjs验证表单

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

    extjs grid.panel 项目 源码

    在基于ExtJS Form表单的项目中,Grid Panel通常用于显示和编辑由Form表单收集或处理的数据。 源码分析可以从以下几个方面展开: 1. **组件创建**:首先,我们需要了解如何创建一个Grid Panel。这通常涉及到定义...

    extjs4的Ext.frorm.Panel控件属性说明和表单控件说明

    主要用例子说明extjs4的form表单的运用,其中有表单属性说明,表单控件运用说明如: title:'表单', //表单标题 bodyStyle:'padding:5 5 5 5', //表单边距 height:120, //表单高度 width:200, //表单宽度 ...

    extjs表单提交例子

    保存提交代码,extjs4.0 // 重置 和 保存 按钮. buttons: [{ text: '重置', handler: function() { this.up('form').getForm().reset(); } }, { text: '保存', /*formBind: true, //only enabled once the ...

    ExtJs中表单formPanel的横向布局

    本文将深入探讨如何在ExtJs中使用`FormPanel`组件结合`form`和`column`布局属性来实现横向布局,即在一个表单中元素能够按照列分布,形成一种更为直观和用户友好的界面设计。 ### 一、理解`FormPanel`及其属性 `...

    extjs4 入门基础,form、grid、tree

    它提供了一整套组件化的用户界面元素,包括表单(Form)、网格(Grid)、树形视图(Tree)等,使得开发者能够创建出功能丰富且交互性强的前端应用。在深入探讨ExtJS 4的基础知识之前,首先确保你已经下载了ExtJS ...

    如何提交Extjs 中的表单

    首先,我们需要了解ExtJS中的表单组件(`Ext.form.Panel`)。表单面板是承载输入字段和其他表单元素的容器。创建一个基本的表单,你可以这样写: ```javascript var formPanel = Ext.create('Ext.form.Panel', { ...

    extjs-form:使用 Sencha ExtJS 的简单表单

    在“extjs-form:使用 Sencha ExtJS 的简单表单”这个主题中,我们将深入探讨如何利用 ExtJS 创建功能丰富的表单。 首先,让我们了解 ExtJS 表单的基本结构。一个表单通常由若干个字段(Field)组成,每个字段都有...

    extjs表单验证特殊字符

    EXTJS表单验证主要依赖于`Ext.form.field.Base`组件,它是所有表单字段的基础类。每个表单字段都可以配置验证规则,通过`vtype`属性定义基本的验证类型,或者使用`validators`属性自定义验证函数。对于特殊字符的...

    解决Extjs4中form表单提交后无法进入success函数问题

    在开发使用Extjs4框架的应用程序时,可能会遇到form表单提交后,无法正确进入success回调函数的问题。针对这个问题,首先需要进行两个方面的检查和确认,以确保form提交操作能够顺利进入success回调函数。 首先,...

    这是有关extjs的例子,里面有各种表单的定义,grid的实现

    在这个有关ExtJS的例子中,我们主要关注的是表单(Forms)的定义和Grid的实现。 表单在任何应用程序中都扮演着至关重要的角色,它们用于收集用户输入并将其发送到服务器进行处理。在ExtJS中,表单通常由各种字段...

Global site tag (gtag.js) - Google Analytics