Extjs form 取值 赋值 重置
一、从form中获取field的三个方法:
1、 Ext.getCmp('id'); 2、 FormPanel.getForm().findField('name'); 3、 Ext.get('id/name');//前提是FormPanel在界面上显示出来了!!!
二、ExtJS如何给textfield赋值的三个方法:
var value="值"; 1、 fs.form.findField(name).setValue(value); //前提是FormPanel在界面上显示出来了。 2、 Ext.get(id/name).setValue(value); 3、 Ext.getCmp(id).setValue(value);
三、ExtJS 重置表单的方法:
有三种方法能实现form表单的重置,假设var fs=new Ext.form.FormPanel({...}); 1、 fs.form.reset();//重置form 2、 fs.getForm().getEl().dom.reset();//重置form 3、 Ext.getCmp('fs').form.reset();
四、formPanel组件load数据时combo的自动赋值:
combo有个hiddenName这个属性,这个属性是真正提交的值,在加载的时候你将这个属性的设置到reader中,就可以自动选择到指定的值了,比如说:hiddenName:'value',那么你的reader中就应该有一个{name:'value'}.
实例分析:
1.给表格增加复选框:(增加了才能在点击某行时获取该行信息!)
var sm = new Ext.grid.CheckboxSelectionModel();
2.在列模型中加入复选框:
var cm=new Ext.grid.ColumnModel({ columns:[ sm, { id:'sh', header: '税号', width: 160, dataIndex: 'swdjzh', sortable: true, align: 'left', hideable :true, css:"color:black;font-size:12px;" }, ... ......
3.在表格中增加复选框:
var enGrid=new Ext.grid.GridPanel({ store: store, cm: cm, sm:sm, title:"虚拟企业信息", collapsible: false, animCollapse: false, renderTo: 'query-grid', loadMask: new Ext.LoadMask(Ext.getBody(), {msg:'正在加载数据,请稍侯……'}), view: enView, stripeRows: true, tbar: [ { xtype:'radio', boxLabel:'按机构代码', name:'ftype', // id:'sh', inputValue:'sh', hideLabel:true, listeners:{check:function(){ Ext.getCmp('paras').setValue(""); }} }, "-", ... ...... ... "-", { text:"审核", iconCls:'audit', handler:function(){ auditWin.show(); if(enGrid.getSelectionModel().hasSelection()){ var records = enGrid.getSelectionModel().getSelections();//获取选中的行的记录 var record = records[0].data; var czfpbm = record.czfpbm; var czfp; for (var int = 0; int < arrCode.length; int++) { var array = arrCode[int]; if (array[0] == czfpbm) { czfp = array[1]; break; } } auditForm.getForm().findField("swdjzh").setValue(record.swdjzh); auditForm.getForm().findField("qymc").setValue(record.qymc); auditForm.getForm().findField("dh").setValue(record.dh); auditForm.getForm().findField("dz").setValue(record.dz); auditForm.getForm().findField("frdb").setValue(record.frdb); auditForm.getForm().findField("czfp").setValue(czfp); auditForm.getForm().findField("zczb").setValue(record.zczb); auditForm.getForm().findField("clrq").setValue(record.clrq); } } }] ... ......
var auditForm = new Ext.FormPanel({ frame:true, width:450, height:200, buttonAlign : "center", labelWidth:65, labelAlign:"right", items:[{//行1 layout:"column", items:[{ columnWidth:.5, layout:"form", items:[{ name:"swdjzh", xtype:"textfield", fieldLabel:"税务号", readOnly:true, style:"background:none;border:0px;", width:210 }] },{ columnWidth:.5, layout:"form", items:[{ name:"qymc", xtype:"textfield", fieldLabel:"企业名称", readOnly:true, style:"background:none;border:0px;", width:210 }] }] },{//行2 layout:"column", items:[{ columnWidth:.5, layout:"form", items:[{ name:"frdb", xtype:"textfield", fieldLabel:"法人代表", readOnly:true, style:"background:none;border:0px;" }] },{ columnWidth:.5, layout:"form", items:[{ name:"dh", xtype:"textfield", fieldLabel:"联系方式", readOnly:true, style:"background:none;border:0px;" }] }] },{//行3 layout:"column", items:[{ columnWidth:.5, layout:"form", items:[{ name:"czfp", xtype:"textfield", fieldLabel:"财政分片", readOnly:true,style:"background:none;border:0px;" }] },{ columnWidth:.5, layout:"form", items:[{ name:"clrq", xtype:"textfield", fieldLabel:"成立日期", readOnly:true, style:"background:none;border:0px;" }] }] },{//行4 layout:"column", items:[{ columnWidth:.5, layout:"form", items:[{ name:"zczb", xtype:"textfield", fieldLabel:"注册资本", readOnly:true, style:"background:none;border:0px;" }] },{ columnWidth:.5, layout:"form", items:[{ xtype:"textfield", value:"(元)", fieldLabel:"【单位】", readOnly:true, style:"background:none;border:0px;font-weight:bold;color:red;", labelStyle:"font-weight:bold;color:red;" }] }] },{//行5 name:"dz", xtype:"textfield", fieldLabel:"联系地址", readOnly:true, style:"background:none;border:0px;", width:332, }], buttons:[{ text:"审核通过", handler:function(){ var swdjzh = auditForm.getForm().findField("swdjzh").getValue(); //异步发请求 Ext.Ajax.request({ url:"audit.reg?doType=auditEnterprise", method:"POST", params:{swdjzh:swdjzh,status:1}, success:function(response,option){ var result = Ext.util.JSON.decode(response.responseText); if(result.success){ Ext.Msg.alert("成功","审核成功!"); auditWin.hide(); enStore.rejectChanges(); enStore.reload(); } else{ Ext.Msg.alert("失败","审核失败!请重新审核"); auditWin.hide(); enStore.rejectChanges(); enStore.reload(); } }, failure:function(response,option){ Ext.Msg.alert("失败","删除过程中发生错误!"); auditWin.hide(); enStore.rejectChanges(); enStore.reload(); } }); } },{ text:"审核不通过", handler:function(){ var swdjzh = auditForm.getForm().findField("swdjzh").getValue(); //异步发请求 Ext.Ajax.request({ url:"audit.reg?doType=auditEnterprise", method:"POST", params:{swdjzh:swdjzh,status:0}, success:function(response,option){ var result = Ext.util.JSON.decode(response.responseText); if(result.success){ Ext.Msg.alert("成功","审核成功!"); auditWin.hide(); enStore.rejectChanges(); enStore.reload(); } else{ Ext.Msg.alert("失败","审核失败!请重新审核"); auditWin.hide(); enStore.rejectChanges(); enStore.reload(); } }, failure:function(response,option){ Ext.Msg.alert("失败","审核过程中发生错误!"); auditWin.hide(); enStore.rejectChanges(); enStore.reload(); } }); } },{ text:"取消", handler:function(){ auditWin.hide(); } }] });
5.后台代码:
else if ("auditEnterprise".equals(action)) { String str; int status = Integer.valueOf(request.getParameter("status")); String swdjzh = request.getParameter("swdjzh"); EnDao enDao = new EnDao(); UserPostDao userDao = new UserPostDao(); boolean done = enDao.updateEnterpriseStatus(swdjzh, status); if (done) {//更新企业信息成功 if (status == 1) { done = userDao.updateUserStatus(swdjzh, 1); if (!done) {//更新用户信息失败 enDao.updateEnterpriseStatus(swdjzh, 2); } } else { done = userDao.updateUserStatus(swdjzh, 0); if (!done) { enDao.updateEnterpriseStatus(swdjzh, 2); } } } if(done){ str="{success:true}"; }else{ str="{success:false}"; } response.setContentType("text/html;charset=UTF-8"); PrintWriter out=response.getWriter(); out.print(str); out.close(); return; }
展示: