`

extjs中的formPanel以及表单的应用

阅读更多
var grid;

Ext.onReady(function() {

	// grid中的复选框
	var sm = new Ext.grid.CheckboxSelectionModel();
	// 数据存储器
	var ds = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : "../student.action?method=page",
							method : "post"
						}),
				reader : new Ext.data.JsonReader({ // 读取json数据
					root : "newsList",
					totalProperty : 'totalProperty' // 总记录数
				}, [{
							name : "id"
						}, {
							name : "name"
						}, {
							name : "sex"
						}, {
							name : "birthday"
						}, {
							name : "by1"
						}])
			});
	function toChin(val){
		if(val=="1"){
			 return "男";
		}else{
			return "女";
		}
	}
	
	// 创建列
	var cm = new Ext.grid.ColumnModel([
			sm, // 复选框
			{
				header : "编号",
				dataIndex : "id",
				sortable : true
			}, {
				header : "姓名",
				dataIndex : "name",
				width : 100
			}, {
				header : "性别",
				dataIndex : "sex",
				width : 110,
				renderer : toChin
			}, {
				header : "出生日期",
				dataIndex : "birthday",
				width : 150
			}, {
				header : "民族",
				dataIndex : "by1",
				width : 110
			}]);
	cm.defaultSortable = true;// 默认可排序

	// grid中的工具条
	var toolbar = new Ext.Toolbar([{
				text : '添加',
				icon : 'icons/add.gif',
				handler : function() { 
					insertform.form.reset();  //添加前先重置表单
					window_add.show();
				}
			}, {
				text : '修改',
				icon : 'icons/edit.gif',
				handler : function() {
					loadUpdateForm();
				}
			}, {
				text : '删除',
				icon : 'icons/delete.gif',
				handler : function() {
					// 获取选中的对象
					var list = grid.getSelectionModel().getSelections();
					var str = '';
					if (list.length > 0) {
						for (var i = 0; i < list.length; i++) {
							str = str + list[i].get('id') + ',';
						}
					}
					Ext.Msg.alert("提示", "删除" + str);

					var idList = [];
					for (var i = 0; i < list.length; i++) {
						idList.push(list[i].get('id'));
					}
					for (var i = 0; i < idList.length; i++) {
						var index = ds.find('id', idList[i]);
						if (index != -1) {
							var rec = ds.getAt(index);
							ds.remove(rec); // 移除
						}
					}

				}
			}, {
				text : '重新加载',
				icon : 'icons/plugin.gif',
				handler : function() {
					ds.reload();
				}
			}]);

	// 创建Grid
	grid = new Ext.grid.GridPanel({
				el : "grid",
				ds : ds,
				title : "代码列表",
				width : 600,
				height : Ext.get("content").getHeight() / 2 + 20,
				cm : cm,
				loadMask : {
					msg : '正在加载数据,请稍侯……'
				},
				sm : sm,
				tbar : toolbar,
				// 下边
				bbar : new Ext.PagingToolbar({
							pageSize : 10,
							store : ds,
							displayInfo : true,
							displayMsg : ' 显示第 {0} 条到 {1} 条记录,一共 {2} 条',
							emptyMsg : ' 没有记录'
						})
			});
	grid.render(); // 组件渲染之后触发
	ds.load({params : {start : 0,limit : 10}}); // 加载数据

	// 双击事件
	grid.addListener("rowdblclick", function(grid, rowIndex, columnIndex, e) {
				var dataObj = grid.getStore().getAt(rowIndex); // 说去选中的行的数据对象
				var id = dataObj.get("id");
				var content = dataObj.get("name");
				Ext.Msg.alert("提示", id + content);
			});

		// 单击事件
		/*
		 * grid.addListener("click",function(){ Ext.Msg.alert("提示","单击事件"); });
		 */

		/*
		 * 如果要动态加载grid数据则,在方法内加入 ds:数据存储器,propertyId为要传的参数
		 * ds.load({params:{start:0,limit:10,propertyId:propertyId}});
		 * 
		 */

	});
 
/**
	 * 分页读取Grid内容
	 * 
	 * @param request
	 * @param response
	 * @return
	 */
	@RequestMapping(params = "method=page")
	public ModelAndView page(HttpServletRequest request,
			HttpServletResponse response) {
		int start;
		try {
			start = Integer.parseInt(request.getParameter("start"));
		} catch (NumberFormatException e1) {
			start = 0;
		}
		int limit;
		try {
			limit = Integer.parseInt(request.getParameter("limit"));
		} catch (NumberFormatException e1) {
			limit = 10;
		}
		Student nr = new Student();
		List<Student> list = studentService.findStudentByPage(nr, start, limit);
		int totalProperty = studentService.findByCont();
		JSONArray jsonArray = new JSONArray();
		Iterator ite = list.iterator();
		while (ite.hasNext()) {
			Student s = (Student) ite.next();
			Map map = new HashMap();
			map.put("id", s.getId());
			map.put("name", s.getName());
			map.put("sex", s.getSex());
			map.put("birthday", s.getBirthday());
			map.put("by1", s.getBy1());
			jsonArray.add(map);
		}
		String jsonStr = jsonArray.toString();
		String jsonString = "{start:" + start + ",limit:" + limit
				+ ",totalProperty:" + totalProperty + ",newsList:" + jsonStr
				+ "}";
		response.setContentType("text/html;charset=utf-8");
		try {
			response.getWriter().write(jsonString);
		} catch (IOException e) {
			e.printStackTrace();
		}

		return null;
	}
 
// 定义Grid中的行对象
var Student = Ext.data.Record.create([{
			name : 'id',
			mapping : 'id',
			type : 'int'
		}, {
			name : 'name',
			mapping : 'name',
			type : 'string'
		}, {
			name : 'sex',
			mapping : 'sex',
			type : 'string'
		}, {
			name : 'birthday',
			mapping : 'birthday',
			type : 'string'
		}, {
			name : 'by1',
			mapping : 'by1',
			type : 'string'
		}]);

		//读取下拉列表内容
var ds = new Ext.data.Store({
			proxy : new Ext.data.HttpProxy({
						url : '../student.action?method=selectTree'
					}),
			reader : new Ext.data.JsonReader({}, ['code', 'content'])
		});

var insertform = new Ext.FormPanel({
	frame : true,
	labelWidth : 70,
	bodyStyle : 'padding:5px',
	border : false,
	labelAlign : 'right',
	fileUpload : true, // 上传文件(必填)
	items : [{
		layout : 'column',
		border : false,
		items : [{
			columnWidth : .5,
			layout : 'form',
			baseCls : 'x-plain',
			border : false,
			// defaultType : 'textfield',
			defaults : {
				anchor : '80%'
			},
			items : [{
						fieldLabel : '身份证号',
						xtype : 'textfield',
						name : 'idCard',
						maxLength : 50
					}, {
						fieldLabel : '姓名',
						xtype : 'textfield',
						name : 'name'
					}, {
						fieldLabel : '电子邮件',
						xtype : 'textfield',
						name : 'email',
						vtype : 'email'
					}, {
						xtype : 'panel',
						layout : 'table',
						fieldLabel : '性别',
						defaultType : 'radio',
						isFormField : true,
						items : [{
							name : 'sex',
							boxLabel : '<span style="color:black;font-size:12px;">男&nbsp;&nbsp;</span>',
							inputValue : '1',  //值
							checked : true  //默认选中
						}, {
							name : 'sex',
							boxLabel : '<span style="color:black;font-size:12px;">女</span>',
							inputValue : '2'
						}]
					}]
		}, {
			columnWidth : .5,
			layout : 'form',
			border : false,
			defaultType : 'textfield',
			defaults : {
				anchor : '80%'
			},
			items : [{
						store : ds,  //下拉列表的数据
						fieldLabel : '民族',  
						name : 'by1',   
						xtype : 'textfield',
						xtype : 'combo',   
						valueField : 'code',    //值的name属性
						mode : 'remote',  //远程数据
						displayField : "content",  //显示内容的name属性
						forceSelection : true,
						blankText : '请选择所属类型',  
						emptyText : '选择所属类型',
						editable : true,   //可以编辑
						triggerAction : 'all',
						allowBlank : false,
						hiddenName : "by1",  //作为隐藏表单传入form的值
						autoShow : true,
						selectOnFocus : true
					}, {
						fieldLabel : '出生日期',
						name : 'birthday',
						xtype : "datefield",
						format : "Y-m-d"
					}, {
						fieldLabel : '联系地址',
						name : 'address',
						xtype : 'textfield'
					}, {
						fieldLabel : '封面图片',
						name : 'uploadphoto',
						inputType : 'file'
					}]
		}]
	}, {
		xtype : 'checkboxgroup',
		fieldLabel : '兴趣爱好',
		name : 'xqah',
		columns : 4,
		items : [{
					boxLabel : 'Item 1',
					name : 'xqah',
					inputValue : '1'
				}, {
					boxLabel : 'Item 2',
					name : 'xqah',
					checked : true,  //默认选中
					inputValue : '2'
				}, {
					boxLabel : 'Item 3',
					name : 'xqah',
					inputValue : '3'
				}, {
					boxLabel : 'Item 4',
					name : 'xqah',
					inputValue : '4'
				}, {
					boxLabel : 'Item 5',
					name : 'xqah',
					inputValue : '5'
				}, {
					boxLabel : 'Item 6',
					name : 'xqah',
					inputValue : '6'
				}, {
					boxLabel : 'Item 7',
					name : 'xqah',
					inputValue : '7'
				}]
	}, {
		xtype : 'tabpanel',
		plain : true,
		bodyBorder : false,
		activeTab : 0,
		height : 200,
		defaults : {
			bodyStyle : 'padding:2px'
		},
		items : [{
					title : '备注',
					layout : 'fit',
					items : {
						xtype : 'textarea',
						name : 'remark',
						maxLength : 500
					}
				}, {
					title : '编辑推荐',
					layout : 'fit',
					items : {
						xtype : 'textarea',
						name : 'by2',
						maxLength : 500
					}
				}, {
					title : '作者简介',
					layout : 'fit',
					items : {
						xtype : 'textarea',
						name : 'by3',
						maxLength : 500
					}
				}]
	}],
	buttonAlign : "center",
	buttons : [{
				text : "保存",
				handler : function() {
					submitform();
				}
			}, {
				text : "关闭",
				handler : function() {
					window_add.hide();
				}
			}]
});
// 提交表单
function submitform() {
	if (insertform.getForm().isValid()) { // 如果验证通过
		insertform.getForm().submit({
					url : "../zdbnr.action?method=insert",
					waitMsg : '正在保存数据...',
					success : onAddSuccess,
					failure : onFailure
				});
	}
}

var onFailure = function(form, action) {
	if (action.failureType == "connect") {
		Ext.Msg.alert('服务器异常', '服务器异常,请与管理员联系!');
	} else {
		Ext.Msg.alert('错误', '您输入的用户名和密码错误!');
	}
}
// 触发事件,如:添加成功后
var onAddSuccess = function(form, action) {
	var store = grid.getStore();
	var student = new Student({
				id : action.result.stuid,
				name : form.findField('name').getValue(),
				sex : form.findField('sex').getValue(),
				birthday : form.findField('birthday').getValue(),
				by1 : form.findField('by1').getValue()
			});
	store.insert(0, [student]);
	if (store.data.length > 10) {
		store.remove(store.getAt(store.data.length - 1));
	}
	Ext.MessageBox.alert("提示", "插入成功!");
	window_add.hide();
}

var window_add = new Ext.Window({
			title : '添加',
			width : 600,
			resizable : false,
			autoHeight : true, // 自动适应高度
			modal : true,
			closeAction : 'hide',
			listeners : {
				'hide' : function() {
				}
			},
			items : [insertform]
		});
 
@RequestMapping(params = "method=selectTree")
	public ModelAndView selectTree(HttpServletRequest request,
			HttpServletResponse reponse) throws Exception {
		reponse.setContentType("text");
		reponse.setCharacterEncoding("UTF-8");
		SysDataParamContent content = new SysDataParamContent();
		content.setDataParamId(10024);
		List<SysDataParamContent> nrlist = dataZxZdbnrService
				.findByComb(content);
		StringBuffer sb = new StringBuffer();
		sb.append("[");
		for (int i = 0; i < nrlist.size(); i++) {
			SysDataParamContent nr = nrlist.get(i);
			sb.append("{\"content\" :\"" + nr.getContent() + "\" ,\"code\" :\""
					+ nr.getCode() + "\"},");
		}
		sb.append("]");
		reponse.getWriter().write(sb.toString());
		return null;
	}


	@RequestMapping(params = "method=insert")
	public ModelAndView insert(Student stu,HttpServletRequest request, HttpServletResponse reponse)
			throws Exception {
		int count = dataZxZdbnrService.insertStudent(stu);
		reponse.setContentType("text/html"); 
		String result = "";
		if (count > 0) {
			count = studentService.findByLast();
			uploadTemplate(request,count);
			result = "{stuid:"+count+",success:true}";
		}
		reponse.getWriter().write(result);
		return null;
	}
 
var updateform = new Ext.FormPanel({
	frame : true,
	labelWidth : 70,
	bodyStyle : 'padding:5px',
	border : false,
	labelAlign : 'right',
	items : [{
		layout : 'column',
		border : false,
		items : [{
			columnWidth : .5,
			layout : 'form',
			baseCls : 'x-plain',
			border : false,
			defaults : {
				anchor : '80%'
			},
			items : [{
						name : "id",
						fieldLabel : "编号",
						xtype : "hidden"
					},{
						fieldLabel : '身份证号',
						xtype : 'textfield',
						name : 'idCard',
						maxLength : 50
					}, {
						fieldLabel : '姓名',
						xtype : 'textfield',
						name : 'name'
					}, {
						fieldLabel : '电子邮件',
						xtype : 'textfield',
						name : 'email',
						vtype : 'email'
					}, {
						xtype : 'panel',
						layout : 'table',
						fieldLabel : '性别',
						defaultType : 'radio',
						isFormField : true,
						items : [{
							name : 'sex',
							boxLabel : '<span style="color:black;font-size:12px;">男&nbsp;&nbsp;</span>',
							inputValue : '1', // 值
							checked : true
								// 默认选中
						}, {
							name : 'sex',
							boxLabel : '<span style="color:black;font-size:12px;">女</span>',
							inputValue : '2'
						}]
					}]
		}, {
			columnWidth : .5,
			layout : 'form',
			border : false,
			defaultType : 'textfield',
			defaults : {
				anchor : '80%'
			},
			items : [{
						store : ds, // 下拉列表的数据
						fieldLabel : '民族',
						name : 'by1',
						xtype : 'textfield',
						xtype : 'combo',
						valueField : 'code', // 值的name属性
						mode : 'remote', // 远程数据
						displayField : "content", // 显示内容的name属性
						forceSelection : true,
						blankText : '请选择所属类型',
						emptyText : '选择所属类型',
						editable : true, // 可以编辑
						triggerAction : 'all',
						allowBlank : false,
						hiddenName : "by1", // 作为隐藏表单传入form的值
						autoShow : true,
						selectOnFocus : true
					}, {
						fieldLabel : '出生日期',
						name : 'birthday',
						xtype : "datefield",
						format : "Y-m-d"
					}, {
						fieldLabel : '联系地址',
						name : 'address',
						xtype : 'textfield'
					}, {
						fieldLabel : '封面图片',
						name : 'uploadphoto',
						inputType : 'file'
					}]
		}]
	}, {
		xtype : 'checkboxgroup',
		fieldLabel : '兴趣爱好',
		name : 'xqah',
		columns : 4,
		items : [{
					boxLabel : 'Item 1',
					name : 'xqah',
					inputValue : '1'
				}, {
					boxLabel : 'Item 2',
					name : 'xqah',
					checked : true, // 默认选中
					inputValue : '2'
				}, {
					boxLabel : 'Item 3',
					name : 'xqah',
					inputValue : '3'
				}, {
					boxLabel : 'Item 4',
					name : 'xqah',
					inputValue : '4'
				}, {
					boxLabel : 'Item 5',
					name : 'xqah',
					inputValue : '5'
				}, {
					boxLabel : 'Item 6',
					name : 'xqah',
					inputValue : '6'
				}, {
					boxLabel : 'Item 7',
					name : 'xqah',
					inputValue : '7'
				}]
	}, {
		xtype : 'tabpanel',
		plain : true,
		bodyBorder : false,
		activeTab : 0,
		height : 200,
		defaults : {
			bodyStyle : 'padding:2px'
		},
		items : [{
					title : '备注',
					layout : 'fit',
					items : {
						xtype : 'textarea',
						name : 'remark',
						maxLength : 500
					}
				}, {
					title : '编辑推荐',
					layout : 'fit',
					items : {
						xtype : 'textarea',
						name : 'by2',
						maxLength : 500
					}
				}, {
					title : '作者简介',
					layout : 'fit',
					items : {
						xtype : 'textarea',
						name : 'by3',
						maxLength : 500
					}
				}]
	}],
	buttonAlign : "center",
	buttons : [{
				text : "修改",
				handler : function() {
					submitUpdaeForm();
				}
			}, {
				text : "关闭",
				handler : function() {
					window_edit.hide();
				}
			}]
});
// 提交表单
function submitUpdaeForm() {
	if (updateform.getForm().isValid()) { // 如果验证通过
		updateform.getForm().submit({
					url : "../student.action?method=update",
					waitMsg : '正在保存数据...',
					success : onAddSuccessUpdate,
					failure : onFailureUpdate
				});
	}
}

var onFailureUpdate = function(form, action) {
	if (action.failureType == "connect") {
		Ext.Msg.alert('服务器异常', '服务器异常,请与管理员联系!');
	} else {
		Ext.Msg.alert('错误', '您输入的用户名和密码错误!');
	}
}
var onAddSuccessUpdate = function(form, action) {
	Ext.MessageBox.alert("提示", "修改成功!");
	window_edit.hide();
}

function editloadForm(id) {
	updateform.form.load({
				waitMsg : '正在加载数据',
				waitTitle : '提示',
				url : '../student.action?method=findById',
				params : {
					id : id
				},
				method : 'GET',
				success : function(form, action) {
					// 数据加载成功.
				},
				failure : function(form, action) {
					Ext.Msg.alert('无法加载该数据');
				}
			});
}

function loadUpdateForm() {
	var stulist = grid.getSelectionModel().getSelections();
	var idList = [];
	if (stulist.length == 0) {
		Ext.Msg.alert("提示", "请选择要修改的数据!");
	} else if (stulist.length > 1) {
		Ext.Msg.alert("提示", "只能选择一条记录操作!");
	} else {
		for (var i = 0; i < stulist.length; i++) {
			idList.push(stulist[i].get('id'));
		}
		updateform.form.reset();
		updateform.isAdd = true;
		window_edit.setTitle("修改");
		window_edit.show();
		var id = idList[0];
		editloadForm(id);
	}
}

var window_edit = new Ext.Window({
			title : '修改',
			width : 600,
			resizable : false,
			autoHeight : true, // 自动适应高度
			modal : true,
			closeAction : 'hide',
			listeners : {
				'hide' : function() {
				}
			},
			items : [updateform]
		});
 
@RequestMapping(params = "method=findById")
	public ModelAndView findById(int id, HttpServletResponse response) {
		response.setContentType("text/html"); 
		response.setCharacterEncoding("UTF-8");      
		StringBuffer sb = new StringBuffer();
		Student stu = studentService.findById(id);
		sb.append("{");
		sb.append("success : true,");
		sb.append("data : {id :" + stu.getId() + ",idCard : \""
				+ stu.getIdCard() + "\",name:\"" + StringUtils.trimToEmpty(stu.getName())
				+ "\",email:\"" + StringUtils.trimToEmpty(stu.getEmail()) + "\",sex:\"" + stu.getSex()
				+ "\",by1 : \"" + StringUtils.trimToEmpty(stu.getBy1()) + "\",birthday:\""
				+ StringUtils.trimToEmpty(stu.getBirthday()) + "\",address:\"" + StringUtils.trimToEmpty(stu.getAddress())
				+ "\",xqah:\"" + StringUtils.trimToEmpty(stu.getXqah()) + "\",remark:\""
				+ StringUtils.trimToEmpty(stu.getRemark()) + "\",by2:\"" + StringUtils.trimToEmpty(stu.getBy2()) + "\",by3:\""
				+StringUtils.trimToEmpty( stu.getBy3()) + "\"}");
		sb.append("}");
		try {
			response.getWriter().write(sb.toString());
		} catch (Exception e) {
		}
		return null;
	}
	
	@RequestMapping(params = "method=update")
	public ModelAndView update(Student stu,HttpServletResponse response) {
		String result = "";
		int count = studentService.update(stu);
		if(count>0){
			result = "{message:'修改成功!',success:true}";
		}
		try {
			response.getWriter().write(result);
		} catch (Exception e) {
		}
		return null;
	}
 
分享到:
评论

相关推荐

    ExtJs 动态添加表单

    在"动态添加表单"这个主题中,我们将深入探讨如何在ExtJS中实现表单的动态创建和管理。 首先,我们要理解表单(Form)在ExtJS中的基本概念。表单是数据输入和验证的核心组件,可以包含各种字段类型,如文本框、下拉...

    ExtJs4.0 表单提交Demo

    ExtJs 4.0 提供了多种类型的表单字段,如文本输入框、密码框、选择框等,以及表单容器,如Panel、FormPanel。这些组件允许开发者创建复杂且功能完备的表单。表单字段可以通过配置项定义,包括字段类型、验证规则、...

    ExtJs中表单formPanel的横向布局

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

    Extjs中常用表单介绍与应用

    本文将详细介绍ExtJS中常用表单组件的创建、应用以及验证和数据绑定等方面的知识,旨在帮助读者深入理解和掌握ExtJS表单的使用方法。 ### 表单面板(FormPanel)的创建 在ExtJS中,表单面板(FormPanel)是创建...

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

    在本篇文章中,我们将深入探讨如何使用Extjs4中的FormPanel组件从后台加载JSON数据,并将其映射到表单的各个字段中进行显示。这是一项非常实用的技术,尤其是在需要动态填充表单的情况下。 ### 一、Extjs4 ...

    如何提交Extjs 中的表单

    在ExtJS中,提交表单是一项常见的操作,用于将用户在表单中填写的数据发送到服务器进行处理。本文将详细讲解如何在ExtJS环境中实现表单的提交,并结合Java Web后端进行交互。 首先,我们需要了解ExtJS中的表单组件...

    ExtJS的表单

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

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

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

    FCKeditor结合extjs实例

    在这个实例中,FCKeditor 和 ExtJS 结合使用,可能是在ExtJS的某个组件(如表单)中嵌入了FCKeditor,以提供一个高级的文本编辑区域。这种结合允许用户在表单提交内容时,享受到类似于桌面应用的文本编辑体验,同时...

    extjs中文文档大全

    开发者可以从中了解到如何创建基本的页面结构,使用GridPanel展示数据,以及通过FormPanel进行表单处理。此外,还包括了事件处理、自定义组件和主题定制等进阶话题,帮助开发者提高工作效率并实现个性化设计。 2. *...

    extjs做的一个桌面应用系统

    FormPanel则用于创建表单,支持多种输入类型,方便数据录入和验证。此外,Window和Panel组件可以用来创建弹出对话框或自定义面板,提供丰富的窗口管理功能。 DWR的使用涉及到几个核心概念:Reverse AJAX、CORS...

    ExtJS+2.2实现及应用连载.rar

    在2.2版本中,ExtJS提供了丰富的组件库、强大的数据管理机制以及优雅的用户界面设计,使得开发者能够轻松创建复杂的桌面级Web应用。本资料“ExtJS+2.2实现及应用连载”旨在深入探讨这一版本的特性和实际应用。 一、...

    extjs上传全代码

    通过配置`inputType: 'file'`,可以在表单中添加一个文件选择控件。 3. **Upload Button**: 为了触发文件上传,我们需要一个按钮来启动上传过程。EXTJS提供了一种机制,可以监听按钮的点击事件,并调用相关的处理...

    EXTJS修改颜色实例源码

    在提供的实例源码中,我们看到的是如何在 EXTJS 中修改颜色的示例,具体涉及到 EXTJS 的 FormPanel 和 ComboBox 组件,以及自定义事件处理。 1. **FormPanel**: - `Ext.form.FormPanel` 是 EXTJS 中用于创建表单...

    ExtJS_3.3中文

    6. **FormPanel**:用于创建表单,支持各种表单元素,如文本框、选择框、日期选择器等,以及表单验证和提交。 7. **Ajax请求**:Ext.Ajax模块提供了异步请求接口,方便与服务器进行数据交互。 8. **事件处理**:...

    extjs4如何给同一个formpanel不同的url_.docx

    在EXTJS4中,FormPanel是一个非常重要的组件,用于创建包含表单元素的用户界面。在某些场景下,我们可能需要一个FormPanel实例能够根据不同的情况提交到不同的URL。这个问题可以通过灵活地设置和操作FormPanel及其...

Global site tag (gtag.js) - Google Analytics