`
wjt276
  • 浏览: 650459 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

ExtJS笔记--Ext.form.FormPanel(四)综合实例

阅读更多
//表单开始------------------------------------------------------
	var form = new Ext.form.FormPanel({
	  title: '编辑学生信息',
	  region: 'east',
	  frame: true,
	  width: 300,
	  autoHeight: true,
	  labelAlign: 'right',
	  labelWidth: 60,
	  defaultType: 'textfield',
	  defaults: {
		  width: 200,
		  allowBlank: false
	  },
	  items: [{
		  xtype: 'hidden',
		  name: 'id'
	  },{
		  fieldLabel: '学号',
		  name: 'code'
	  },{
		  fieldLabel: '姓名',
		  name: 'name'
	  },{
		  fieldLabel: '年龄',
		  name: 'age',
	  	xtype: 'numberfield',
	  	allowNegative: false
	  },{
		  fieldLabel: '性别',
		  name: 'sexText',
		  hiddenName: 'sex',
		  xtype: 'combo',
		  store: new Ext.data.SimpleStore({
			  fields: ['value','text'],
			  data: [['1','男'],['0','女']]
	  	}),
		  emptyText: '请选择',
		  mode: 'local',
		  triggerAction: 'all',
		  valueField: 'value',
		  displayField: 'text',
		  readOnly: true
	  },{
		  fieldLabel: '政治面貌',
		  name: 'political',
		  xtype: 'combo',
		  store: new Ext.data.SimpleStore({
		  fields: ['text'],
		  data: [['群众'],['党员'],['团员']]
		  }),
		  emptyText: '请选择',
		  mode: 'local',
		  triggerAction: 'all',
		  valueField: 'text',
		  displayField: 'text',
		  readOnly: true
	  },{
		  fieldLabel: '籍贯',
		  name: 'origin'
	  },{
		  fieldLabel: '所属系',
		  name: 'professional'
	  }],
	  buttons: [{
	  	text: '添加',
	    handler: function() {
		  if (!form.getForm().isValid()) {
				//调用form.getForm().isValid()进行数据校验。如果返回false,
				//说明表单中某些输入组件中的数据还无法通过校验,不应该提交这些错误格式的数据,
				//这时我们应该直接跳出函数,中止提交操作
		  	return;
		  }
		  if (form.getForm().findField("id").getValue() == "") {
			  // 添加
			  form.getForm().submit({
					//这里的form表示我们前面创建的Ext.form.FormPanel,
					//它的getForm()函数返回Form- Panel内部对应的Ext.form.BasicForm。
					//现在我们调用BasicForm的submit()函数,将内部items中输入组件的值提交给后台的jsp/save.jsp
				  url: 'save.jsp',
				  success: function(f, action) {
						//果后台没有出现异常,而且返回的JSON信息中包含{success:true},那么就会执行success参数对应的处理函数
					  if (action.result.success) {
							////创建一个Ext.Msg.alert()显示响应的JSON信息中的msg部分的内容。在用户关闭alert提示框之后,执行方法
						  Ext.Msg.alert('消息', action.result.msg,function(){
							  grid.getStore().reload();//调用grid.getStore().reload()刷新Grid中的数据
							  form.getForm().reset();//form.getForm().reset()清空上次提交的数据
							  form.buttons[0].setText('添加');
						  });
					  }
				  },
				  failure: function() {
						//如果后台出现400或500错误,就会触发failure参数对应的处理函数。
						//这里只是弹出一个alert提示框告诉用户“添加失败”,等待用户对刚才提交失败的信息进行修改或做其他处理
				 	 Ext.Msg.alert('错误', "添加失败");
				  }
			  });
		  } else {
		  // 修改
			  form.getForm().submit({
			  url: 'save.jsp',
			  success: function(f, action) {
			  if (action.result.success) {
			  Ext.Msg.alert('消息',action.result.msg,function(){
			  grid.getStore().reload();
			  form.getForm().reset();
			  form.buttons[0].setText('添加');
			  });
			  }
			  },
			  failure: function() {
			  Ext.Msg.alert('错误', "修改失败");
			  }
			  });
		  }
	  	  }
	  },{
		  	text: '清空',
			handler:function(){
				form.getForm().reset();
				form.buttons[0].setText("添加");
			}
	  },{
	  		text: '删除',
			handler:function(){
				var id = form.getForm().findField("id").getValue();
				if(id == ''){
					Ext.Msg.alert('提示','请选择需要删除的学生记录信息');
				} else {
					Ext.Ajax.request({
						url:'remove.jsp',
						params:"id=" + id,
						success:function(){
							var json = Ext.decode(response.responseText);
							if(json.success){
								Ext.Msg.alert('消息',json.msg,function(){
										grid.getStore().reload();
										form.getForm().reset();
										form.buttons[0].setText("添加");
									}									
								);
							}
						},
						failure:function(){
							Ext.Msg.alert('错误','删除失败');
						}						
					});
				}
			}
	  }]
	});
	//表单结束--------------------------------------------------------------------------
分享到:
评论

相关推荐

    extjs-Ext.ux.form.LovCombo下拉框

    标题中的"extjs-Ext.ux.form.LovCombo下拉框"表明我们要讨论的是EXTJS中的一个特定组件,它是EXTJS的扩展插件,用于实现具有多选功能的下拉框。这个组件在处理火狐浏览器兼容性问题上做了优化,解决了在火狐浏览器下...

    3------通过实例学习------Ext.js------.docx

    通过实例学习Ext.js,我们可以深入了解其核心组件、布局管理、数据绑定以及用户界面构建等关键知识点。 首先,让我们看一下解压后的Ext.js文件结构: 1. **builds**:这个目录包含了经过压缩和优化的Ext.js代码,...

    ext-lang-en.js和ext-lang-zh_CN.js

    Extjs中实现国际化要用到的文件ext-lang-zh_CN.js和ext-lang-en.js

    ext-4.2.1.883.jsb2

    从spket IDE 官网下载。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.*版本。spket自动提示ExtJs4,需要ext4.2.1.jsp2文件。

    Extjs 6.2 最新sdk ext-6.2.0-gpl.zip

    官方最新版本Extjs6.2版本sdk,创建新项目的时候需要用, 全面的核心框架,具有最新的Javascript标准支持 新的漂亮组件和主题,以创建漂亮的企业应用程序 现代工具链,用于构建优化,高性能,通用的应用程序 用于可视...

    extjs jsb文件(ext-4.2.1.883.jsb2)

    从ext官方论坛上下的。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.1.883

    ExtJs学习资料28-Ext.data.JsonStore数据存储器.doc

    document.write("<script type=\"text/javascript\" src=\"../extjs/adapter/ext/ext-base.js\"></script>"); document.write("<script type=\"text/javascript\" src=\"../extjs/ext-all.js\"></script>"); ...

    ext-4.2.1.883.7z 官方最新版7z压缩

    标题中的"ext-4.2.1.883.7z"指的是ExtJS框架的一个特定版本,4.2.1.883,它被压缩成了7z格式的文件。7z是一种高效的文件压缩格式,由7-Zip软件创建,以提供更高的压缩比和更快的解压缩速度。7z文件通常需要使用支持7...

    ext-7.0.0-gpl.zip

    标题中的"ext-7.0.0-gpl.zip"是一个软件扩展或库的压缩包,遵循GPL(GNU General Public License)开源协议。这通常意味着它是一个免费的、可修改的软件,用户可以查看源代码并根据需要进行定制,但必须保留原始许可...

    extjs-docs-6.0.0-classic.part01.rar

    Ext JS 6最大的变化就是将Ext JS和Touch合并为一个单一的框架。之前的框架的核心(数据、控制器、模型等等)已被调和为一个单一的公共平台。这样,数据和逻辑就能共享,从而帮助开发人员进一步去优化他们的应用程序...

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    ExtJS-3.4.0系列:Ext.TabPanel

    在本文中,我们将深入探讨ExtJS中的`Ext.TabPanel`组件,它是创建多标签界面的核心元素。`Ext.TabPanel`允许开发者在单个容器中组织多个面板或视图,每个面板都有自己的标题,并且可以通过标签页进行切换。让我们...

    extjs3-0-0.d.ts

    extjs3.0 的 Typescript声明文件

    extjs4.1-ux.rar

    Extjs4.1多个扩展 1、Ext.ux.aceeditor.Panel 2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button ...主页:https://github.com/harrydeluxe/extjs-ux 注明:在Extjs4.1上是可以使用的,Extjs4.2部分会有问题。

    extJs 2.1学习笔记

    23. extJs 2.0学习笔记(Ext.Panel篇四) 62 24. extJs 2.0学习笔记(组件总论篇) 66 25. extJs 2.0学习笔记(Ext.Element API总结) 69 26. extJs 2.0学习笔记(Element.js篇) 73 27. extJs 2.0学习笔记(DomHelper.js篇) ...

    ext-4.2.0.663 EXTJS官方最新版7z压缩

    在本压缩包"ext-4.2.0.663 EXTJS官方最新版7z压缩"中,文件名"ext-4.2.0.663"表明这是EXTJS 4.2.0的某个更新版本,具体为663号更新。这个版本可能包含了EXTJS框架的新特性、bug修复或者性能改进。由于使用了7z压缩,...

    Spket_ExtJS提示工具ext-core-dev.js.zip

    软件介绍: Spket的ExtJS提示工具,内附需要加入ExtJS的提示内容文件ext-core-dev.js ,所需要的都整合为一个压缩包,一步到位直接使用。featurespluginsext-core-dev.js

    ext-4.2.1-gpl.zip

    ExtJs4环境,不包括例子,太大了没法上传

    extjs-4.2.1.883.7z

    js框架 extjs-4.2.1.883.7z

Global site tag (gtag.js) - Google Analytics