1.二个控件相邻在同一列布局
{ columnWidth:.38, layout:'form', items:[{ layout : 'table', items:[{ layout:'form', items :[{ xtype:'datefield', fieldLabel:'投诉日期', editable:false, id:'complaintDate1Search', name:'complaintDate1Search', format:'Y-m-d', width:90 }] },{ layout:'form', labelWidth:30, items :[{ xtype:'datefield', fieldLabel:'至', editable:false, id:'complaintDate2Search', name:'complaintDate2Search', format:'Y-m-d', width:90 }] }] }] }
2. 复选框选中及取值
items : [{xtype:'checkbox', boxLabel: "手机短信", name:'sms', id:'sms', inputValue:'1'}]
注:设置inputValue值时,取选中时取值为1,未选中则取值为null,
setValue('1')时则自动会选中该复选框。
3. Ext表单参数提交转换为对象
// 表单验证成功 if(editForm.getForm().isValid()){ //将表单中的信息进行json编码,提交到后台会自动绑定对象, //表单中的字段Id需与后台对象的属性名称一致。 inputConditions = Ext.util.JSON.encode( editForm.getForm().getValues(false)); Ext.Msg.confirm('确认', '是否保存信息?',function(ds){ if(ds=='yes'){ myMask = new Ext.LoadMask(Ext.getBody(), { msg : "正在提交表单信息,请稍后..." }); myMask.show(); Ext.getCmp('saveGroup').setDisabled(true); editForm.getForm().doAction('submit', { url : SMIS.CTX+ '/discipline/mechanism/ SmisInstitutionController/saveSmisInstitution.do', method : 'POST', params:{ conditions : inputConditions }, success : function(form, action) { if (action.result.success) { Ext.Msg.alert('执行成功', action.result.msg); myMask.hide(); doCancel();//刷新 } }, failure : function(form, action) { Ext.getCmp('saveGroup').setDisabled(false); myMask.hide(); Ext.Msg.alert('执行失败',action.result.msg); //doCancel(); } }); } }); }
后台部分代码:
@RequestMapping(value = "/saveSmisInstitution.do",method=RequestMethod.POST) public void saveSmisInstitution(SmisInstitution smisInstitution, HttpServletRequest request,HttpServletResponse response, HttpSession session) throws IOException{ // 参数对象smisInstitution 与前台提交的conditions参数自动绑定 }
4.Ext中Store成功加载完再进行操作,由于是异步操作,经常获取store数据时未加载完毕
//加载数据combo regieOrgCombo.getStore().load({callback:function(r,options,success){ if(success){ // 具体操作 } }});