读书人

ExtJS 平添和修改共用一个表单

发布时间: 2012-08-26 16:48:06 作者: rapoo

ExtJS 添加和修改共用一个表单

最近开始接触ExtJs,在做数据提交和修改的时候老是使用两个表单感觉很别扭,于是在网上查了如何共用表单,最后没有搜索到满意的答案,不过还是实现了,只是我的方法有点笨拙,如果大家有更好的办法,希望赐教

?

//定义操作名称和表单提交的URLvar opName='add';var opUrl='addPlanGroup';//定义提交数据的表单var pgAddForm=new Ext.form.FormPanel({id:'pgAddForm',bodyStyle:'padding:5px',labelWidth:80,defaults:{anchor:"95%"},baseCls:"x-plain",items:[{xtype : "textfield",fieldLabel: '计划组编号',    emptyText:'请输入计划组编号',    name:'planGroupCode',    allowBlank:false,    validator:function(value){       if(value.length>0){       return true;       }else{        return "请输入计划组编号!";       }        }},{xtype : "textfield",fieldLabel: '计划组名称',    emptyText:'请输入计划组名称',    name:'planGroupName',    allowBlank:false,        validator:function(value){       if(value.length>0){       return true;       }else{        return "计划组名称!";       }        }},{xtype : 'combo',        fieldLabel:'计划组类型',name:'planGroupType',hiddenName:"planGroupTypeValue",emptyText:"请选择...",mode :"local",valueField:"paraValue",displayField:"remark",editable:false,triggerAction:"all",allowBlank:false,store:pgTypeStore}]});//定义装载表单的窗体var pgAddWindow = new Ext.Window({id : 'pgAdd-window',title:'创建新计划组',plain : true,width : 460,autoScroll : true,modal : true,items : [pgAddForm],closeAction : "hide",buttons : [{text : "确 定",handler : function() {if(opName=='add'){opUrl='addPlanGroup';}else{opUrl='updatePlanGroup';}var base_account_form = Ext.getCmp('pgAddForm').getForm('planGroupName');if (!base_account_form.isValid()) {return;} else {pgAddForm.getForm().doAction("submit",{url : opUrl,method : 'post',timeout : 10000,waitTitle : '请稍等……',waitMsg : '提交中……',success : function(form,action) {var json = action.result;checkAjaxSessionTimeOut(json);if (json.messagecode=="0"){showResult();    //弹出层Pause(this,sleep_time);//调用暂停函数   this.NextStep=function(){   //暂停后执行的代码 salecatalogTree.root.reload(); salecatalogTree.expandAll(); Ext.getCmp("pgAdd-window").hide(); base_account_form.reset(); }; }else { Ext.Msg.alert('消息', "操作失败:"+json.obj); }},failure : function(form,action) {Ext.Msg.alert('消息',"操作失败!");Ext.getCmp("pgAdd-window").hide();}});}}},{text : "取 消", handler : function() {Ext.getCmp("pgAdd-window").hide();}}]});//树状结构菜单中的添加和修改操作{             text : ' 添加新计划组',            hide:true,            //增加菜单点击事件               handler:function (node){        if(salecatalogTree.getSelectionModel().getSelectedNode().id!='1'){            Ext.Msg.alert("系统提示","计划组之间目前未关联!");            return;   }     Ext.getCmp('pgAddForm').getForm().reset();      Ext.getCmp('pgAddForm').getForm().getEl().dom.reset();//重置表单中所有组件,包括组件的属性     Ext.getCmp('pgAddForm').getForm().findField('planGroupCode').editable=true;     Ext.getCmp("pgAdd-window").setTitle('添加新计划组');     opName='add'; Ext.getCmp("pgAdd-window").show();           }        },{               id:'editrMenu',               text : '修改计划组信息',            //修改菜单点击事件                handler:function (node){  Ext.getCmp('pgAddForm').getForm().reset(); Ext.getCmp("pgAdd-window").setTitle('修改计划组信息'); Ext.getCmp('pgAddForm').getForm().findField('planGroupCode').setValue(salecatalogTree.getSelectionModel().getSelectedNode().id); Ext.getCmp('pgAddForm').getForm().findField('planGroupCode').editable=false; Ext.getCmp('pgAddForm').getForm().findField('planGroupName').setValue(salecatalogTree.getSelectionModel().getSelectedNode().text); opName='update'; Ext.getCmp("pgAdd-window").show();            }

?

读书人网 >JavaScript

热点推荐