`

Ext中FormPanel的用法 1.0

阅读更多
Ext.onReady(function(){
  //校验
  Ext.applyIf(Ext.form.VTypes,{
  name:function(_v){
  return /^[a-z]{3}$/.test(_v);
  },
  nameText:"必须是3到5个汉字",
  nameMask:/[a-z]/i
  });
 
  var _create = Ext.data.Record.create([
  {name:'job',mapping:'job'}
  ]);
  new Ext.FormPanel({
  title:'人员信息',
  renderTo:Ext.getBody(),
  width:500,
  height:400,
  x:500,
  y:400,
  plain:true,
  layout:'form',
  frame:true,
  waitMsgTarget:true,
  items:[{
  baseCls:'x-plain',
  layout:'column',
  style:'padding:5px',
  items:[{
  baseCls:'x-plain',
  columnWidth:0.5,
  defaultType:'textfield',
  layout:'form',
  labelWidth:65,
  defaults:{width:160},
  items:[{
  fieldLabel:'姓名',
  emptyText:'请输入姓名',
  name:'name',
  vtype:'name'
  },{
  fieldLabel:'年龄',
  emptyText:'年龄在0~150之间'
  },{
  fieldLabel:'出生日期',
  format:'Y-m-d',
  xtype:'datefield',
  readonly:true
  },{
  fieldLabel:'所在城市'
  },{
  fieldLabel:'QQ号码'
  },{
  fieldLabel:'Email-e',
  name:'email'
  },{
  fieldLabel:'性别',
  xtype:'combo',
  mode:'local',
  displayField:'sex',
  readonly:true,
  triggerAction:'all',
  value:'男',
  store:new Ext.data.ArrayStore({
  fields:['sex'],
  data:[['男'],['女']]
  })
  }]                    
  },{
  baseCls:'x-plain',
  columnWidth:0.5,
  defaultType:'textfield',
  layout:'form',
  labelWidth:55,
  items:[{
  fieldLabel:'我的照片',
  inputType:'image',
  width:170,
  height:183
  }]
  }]
  },{
  style:'padding:5px',
  baseCls:'x-plain',
  defaultType:'textfield',
  layout:'form',
  defaults:{width:395},
  labelWidth:67,
  items:[{
  fieldLabel:'身份证号码'
  },{
  fieldLabel:'具体所在地'
  },{
  xtype:'panel',
  baseCls:'x-plain',
  layout:'column',
  items:[{
  columnWidth:0.4,
  layout:'form',
  labelWidth:67,
  baseCls:'x-plain',
  items:[{
  xtype:'combo',
  fieldLabel:'职位',
  displayField:'job',
  mode:'local',
  triggerAction:'all',
  anchor:'100%',
  store:new Ext.data.ArrayStore({
  fields:['job'],
  data:[['初级工程师'],['中级工程师'],['高级工程师']]
  }),
  listeners:{
  'select':function(_combo,_record,_index){
 
  this['selectItem'] = this.getValue();
  }
  }
  }]
  },{
  columnWidth:0.2,
  baseCls:'x-plain',
  style:'padding:0 0 0 15px',
  items:[{
  xtype:'button',
  text:'添加职位',
  handler:function(){
 
var _win = this.ownerCt.ownerCt.ownerCt.ownerCt;

var _job = _win.findByType('combo')[1];

var _store = _job.store;

  Ext.MessageBox.prompt("请输入要添加的职位","职位添加",function(_btn,_text){
 
  if(_btn == 'ok'){
  _store.insert(0,new _create({job:_text}));
 
  _job.setValue(_text);
 
  _job['selectItem'] = _text;
  }
  });
  }
  }]
  },{
  columnWidth:0.2,
  baseCls:'x-plain',
  style:'padding:0 0 0 15px',
  items:[{
  xtype:'button',
  text:'修改职位',
  handler:function(){
 
  var _win = this.ownerCt.ownerCt.ownerCt.ownerCt;

var _job = _win.findByType('combo')[1];

var _store = _job.store;

var _value = _job.getValue();

Ext.MessageBox.prompt("输入你要修改后的职位","修改职位",function(_btn,_text){

if(_job.getValue() == null || _job.getValue() == ''){

alert('没有要修改的数据');
return '';
}
if(_btn == 'ok'){

var _index = _store.find('job',_value);

_store.getAt(_index).set('job',_text);

this.setValue(_text);
}
},_job,false,_value);
  }
  }]
  },{
  columnWidth:0.2,
  baseCls:'x-plain',
  style:'padding:0 0 0 15px',
  items:[{
  xtype:'button',
  text:'删除职位',
  handler:function(){
 
  var _win = this.ownerCt.ownerCt.ownerCt.ownerCt;

var _job = _win.findByType('combo')[1];

var _store = _job.store;

var _value = _job['selectItem'];

Ext.MessageBox.confirm('提示','确定删除当前职位吗?',function(_btn){

if(_job.getValue() == null || _job.getValue() == ''){

Ext.MessageBox.alert('error','没有可删除的数据');
}
if(_btn == 'yes'){

var _index = _store.find('job',_value);

_store.remove(_store.getAt(_index));

if(_store.getCount()>0){

this['selectItem'] = _store.getAt(0).get('job');

this.setValue(_store.getAt(0).get('job'));
}else{

this.setValue('');

this['selectItem'] == null;
}
}
},_job);
  }
  }]
  }]
  }]
  }],
  buttons:[{
  text:'确定',
  handler:function(){
  this.ownerCt.ownerCt.getForm().submit({waitTitle:'提交',waitMsg:'loading...'});
  }
  },{
  text:'载入'
  },{
  text:'取消',
  handler:function(){
  this.ownerCt.ownerCt.getForm().reset();
  }
  }],
  listeners:{
  'show':function(_win){
 
  var img = _win.findByType('textfield')[7];
 
  img.getEl().dom.src='picture/http_imgload.jpg';
 
  var _job = _win.findByType('combo')[1];
 
  var _value = _job.store.getAt(0).get('job');
 
  _job.setValue(_value);
 
  _job['selectItem'] = _value;
  }
  }
  }).show();
  });
  • 大小: 76.6 KB
分享到:
评论

相关推荐

    Ext.Net1.0(Examples)RC2实例

    在"Ext.Net1.0(Examples)RC2实例"压缩包中,你将找到一系列的示例代码,这些示例涵盖了Ext.NET 1.0 RC2的核心功能和组件的使用方法。通过这些实例,开发者可以快速理解和学习如何在实际项目中应用这个框架。 以下是...

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

    在本文中,我们将深入探讨ExtJS 2.0中的FormPanel组件,并通过具体的示例来了解如何使用不同的组件,如checkbox、radio以及htmleditor。首先,Ext.FormPanel是ExtJS中用于创建表单的主要组件,它允许我们构建复杂的...

    Ext table布局实例 formpanel的table布局

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

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

    当使用`Ext.FormPanel`的`getForm().submit()`方法进行异步提交时,主要特点是: - **自动处理表单数据**:`getForm().submit()`会自动获取表单内的所有字段值,无需手动构建参数对象。 - **内置验证**:在提交前...

    ext几个实例

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

    ext.net 1.x DEMO

    在开发过程中,为了使用 EXT.NET 1.x 的功能,你需要在项目中引用对应的 DLL 文件(Ext.Net.dll)和 XML 文档(Ext.Net.xml)。DLL 文件包含了所有组件和类的实现,而 XML 文档则包含了这些组件的元数据,用于代码...

    Ext 添加功能form表单实例

    - `layout`: 使用了`"form"`布局,这是Ext中专门为表单设计的布局方式。 - `labelWidth`: 统一设置了所有字段标签的宽度。 - `autoScroll`: 设置为`true`,当表单内容超出容器时自动显示滚动条。 #### 字段配置 ...

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

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

    Ext教程表单表格的使用

    在实际应用中,FormPanel和GridPanel常结合使用,例如在表单中编辑数据,然后保存到数据库,或者从数据库加载数据到表格中显示。在上述代码的`load`和`submit`方法中,表单数据的加载和提交通过URL与服务器进行交互...

    extjs中的formPanel以及表单的应用

    FormPanel 是 ExtJS 中的一个核心组件,用于创建和处理表单元素,包括输入字段、按钮、选择框等。它提供了丰富的功能,如数据验证、远程提交、异步加载等,是构建用户交互界面的关键部分。 在ExtJS中,FormPanel是...

    EXT4 自己整理的一些常用方法

    Grid在EXT中通常指的是数据网格,用于展示和管理大量结构化数据。这部分可能包含了如何创建和配置EXT4中的数据网格,包括列定义、排序、过滤、分页和行操作等功能。EXT4的GridPanel提供了丰富的API,可以定制各种...

    Ext2.0 form使用实例

    本文将详细介绍Ext2.0 FormPanel的使用,包括创建方法、控件配置以及布局管理。 首先,我们需要初始化提示信息功能和设置错误信息显示位置。通过`Ext.QuickTips.init()`启动快速提示功能,以便为表单中的控件提供...

    EXT3.0 JSP上传

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

    EXT的用法

    `FormPanel`是EXT框架中用于构建表单的组件,可以方便地添加各种输入控件,并支持表单验证、提交等功能。通过设置`labelAlign`、`title`、`buttonAlign`等属性,可以控制表单的布局和样式。 ### 总结 综上所述,这...

    EXT2.0帮助文档CHM版

    EXT API文档详细介绍了EXT库中的类、方法、属性和事件,使开发者能够快速掌握EXT的用法。例如,文档中会阐述EXT的GridPanel组件,这是一个用于展示表格数据的强大组件,支持排序、分页、行选择等多种功能。开发者...

    Ext上传文件 Demo

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

Global site tag (gtag.js) - Google Analytics