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

不太累的ext:FormPanel

阅读更多
慢慢开始接触Ext,防公司让我搞这个,先做点准备,准备多少是多少.在网上搜了很多例子,无一例外的都是在items[]数组里去定义一些新的对象,就象下面代码的上部分一样,难以阅读,看着那叫一个累,尤其是初学者,都不知道items里到底是什么对象,照着敲这些代码还容易出错,查了查ext文档,发现组件类都有add方法,于是改了一个别人的例子,觉着好理解多了,并且便于调试多了.就在下面代码的后一部分,相信这种写法应该是搞面象对象编程人员比较喜欢的一种方式


<html>   
<head>   
 <link rel="stylesheet" type="text/css" href="ext-2.2.1/resources/css/ext-all.css" />
  <script type="text/javascript" src="ext-base.js"></script>
  <!-- ENDLIBS -->

    <script type="text/javascript" src="ext-all-debug.js"></script>  
  <script>      
 
 Ext.onReady(function(){

    Ext.QuickTips.init();

    // turn on validation errors beside the field globally
    Ext.form.Field.prototype.msgTarget = 'side';
 //定义一个FormPanel
    var fsf = new Ext.form.FormPanel({     
      title:"FormPanel2 ",
      url:'',
      frame:true,
      width:350,      
      bodyStyle:'padding:5px 5px 0',
      //height:120,
      //defaultType:'textfield',
      items:[
      //定义两个FieldSet
        {
       xtype:'fieldset',
       checkboxToggle:true,
       title:'User Information',
       autoHeight:true,
       defaultType:'textfield',
       //defaults: {width: 210},
       collapsed:true,
       items :[
         {fieldLabel: 'First Name',name: 'first', allowBlank:false},
      {fieldLabel: 'Last Name',name: 'last'},
      {fieldLabel: 'Company',name: 'company'},
      {fieldLabel: 'Email',name: 'email', vtype:'email'}
                     ] 
     },
     {
                   xtype:'fieldset',
                   title: 'Phone Number',
                   collapsible: true,
                   autoHeight:true,
                   //defaults: {width: 210},
                   defaultType: 'textfield',
                   items :[
         {fieldLabel: 'Home',name: 'home',value: '(888) 555-1212'},
      {fieldLabel: 'Business',name: 'business'},
      {fieldLabel: 'Mobile',name: 'mobile'},
      {fieldLabel: 'Fax',name: 'fax'}
                     ]
                  }
      
      ]
   
   });
  //new一个FieldSet
  var fieldset = new Ext.form.FieldSet({
     title: 'Phone Number',
                   collapsible: true,
                   autoHeight:true,
                   //defaults: {width: 210},
                   defaultType: 'textfield'
                   
  });
  //new一个TextFiled,
  var textFiled1 = new Ext.form.TextField();
  textFiled1.fieldLabel="Home2";
  textFiled1.name="home";
        textFiled1.value="(888) 555-1212";
  //textFiled添加到FieldSet
        fieldset.add(textFiled1);
        //Fieldset添加到FormPanel  
        fsf.add(fieldset);
        fsf.render(document.body);
});
  </script>   
  </head>
  <body>

</body>   
</html>   



虽然这样看起来js代码不太简洁,但比较好维护,不太容易出错

0
0
分享到:
评论

相关推荐

    Ext的FormPanel组件

    ### Ext的FormPanel组件 #### 综述 `FormPanel`是Ext JS框架中的一个重要组件,主要用于构建复杂的表单界面。它提供了丰富的功能,如数据验证、数据提交以及灵活的布局控制等,使得开发者能够轻松地创建出既美观又...

    EXT3.0 JSP上传

    总结来说,“EXT3.0 JSP上传”涉及到EXT3.0的FormPanel和FileUploadField组件来构建前端文件选择和上传界面,使用EXT3.0的Ajax请求功能发送文件数据到服务器。在服务器端,JSP接收文件数据并将其保存。整个过程需要...

    Ext table布局实例 formpanel的table布局

    Ext的formpanel table布局实例,有效解决了页面resize时列宽不跟随改变的问题,即列宽的自适应宽度

    Ext一个登陆的小例子 (java+servlet)

    &lt;ext:FormPanel id="loginForm" layout="form"&gt; &lt;ext:TextField id="usernameField" fieldLabel="用户名" /&gt; &lt;ext:TextField id="passwordField" fieldLabel="密码" inputType="password" /&gt; &lt;ext:Button text=...

    Ext 添加功能form表单实例

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

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

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

    Ext_Designer生成代码的使用

    这些代码通常包含创建Ext JS组件(如TabPanel、FormPanel等)的逻辑。 3. **添加额外的初始化代码**:根据项目需求,可能需要添加一些额外的代码来初始化组件或设置特定的行为。在示例中,可以看到`MyTabsUi`组件被...

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

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

    ext几个实例

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

    Ext form_load

    在Ext JS中,`Ext.form_load`涉及到的主要知识点是FormPanel的数据加载机制,这包括了对FormPanel的form对象、BasicForm、doAction方法、Ext.form.Action对象以及JsonReader的使用。以下是对这些概念的详细解释: 1...

    EXT3.0 登录实例

    5. **Ajax通信**:EXT3.0使用Ajax进行异步通信,这意味着在用户交互后,可以在不刷新整个页面的情况下向服务器发送和接收数据。在登录场景中,Ajax请求会携带用户名和密码,服务器端会检查这些信息的正确性。 6. **...

    Ext上传文件 Demo

    1. **Ext FormPanel**: FormPanel是Ext中的一个组件,用于展示和处理表单数据。它包含了一系列的Field组件,如TextField、ComboBox、FileField等。在文件上传场景中,我们需要配置FormPanel以支持文件提交,这通常...

    Ext教程表单表格的使用

    【EXT表单FormPanel】 EXT表单FormPanel是EXT JS框架中用于创建复杂表单的组件,它允许用户输入、编辑和验证数据。在上述代码中,`sampleFormPanel`是一个FormPanel实例,包含了多个配置属性,用于定制表单的行为和...

    extjs中的formPanel以及表单的应用

    allowBlank: false, // 不允许为空 validator: function(value) { return value.length &gt; 3 ? '有效用户名' : '用户名至少需要4个字符'; } }] ``` 除了本地验证,FormPanel 还支持远程验证,即通过Ajax请求将...

    extJs中关于formPanel动态添加组件的验证问题

    在EXT JS这个强大的JavaScript框架中,FormPanel是用于创建表单的重要组件,它允许开发者构建交互式的、数据驱动的Web应用程序。FormPanel不仅提供了一种布局管理方式,还支持各种表单元素,如文本框、复选框、下拉...

    ext2.0项目源代码供大家学习ext使用

    1. **组件系统**:EXT的核心在于其强大的组件模型,这些组件可以组合成复杂的用户界面。每个组件都有自己的属性、方法和事件,可以通过配置选项进行定制。 2. **数据绑定**:EXT支持双向数据绑定,允许视图和模型...

    EXT.form组件

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

    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