addRuleFrom=Ext.create('Ext.form.Panel', {
region:'center', //放置的位置
id:'addRuleForm_br',
bodyPadding: 5,
width: 350,
validateOnchange:false,
// The form will submit an AJAX request to this URL when submitted
url: 'rule/addRule.action', //表单提交的路径
column:2,
// Fields will be arranged vertically, stretched to full width
layout: 'anchor',
defaults: {
anchor: '100%'
// msgTarget:'title' //设置错误提示信息的样式
},
表单提交成功和Ajax请求成功后需要明确的返回{success:true}
// The fields
defaultType: 'textfield',
items: [{
fieldLabel: 'unitId',
name: 'unitId', //后台可用request.getParmas方法获取参数
id:'unitId_Add',
hidden:true, //设置为true表示隐藏
allowBlank: true //是否为不为必填
},{
fieldLabel: '规则编号',
name: 'code', //后台可用request.getParmas方法获取参数
maxLength : 25,//允许输入的最大字符数2
maxLengthText : "最大长度不能超过25个字符!",//提示文本3
minLength : 1, //允许输入的最少字符数4
minLengthText : "最小长度不能少于1个字符!",//提示文本
allowBlank: false //是否为不为必填
},{
//vtype:'phone', //vtype是用来做表单验证的
xtype : 'textareafield',
id:'description_rule',
fieldLabel: '规则描述',
maxLength : 100,//允许输入的最大字符数2
maxLengthText : "最大长度不能超过100个字符!",//提示文本3
minLength : 1, //允许输入的最少字符数4
minLengthText : "最小长度不能少于1个字符!",//提示文本
name: 'description', //后台可用request.getParmas方法获取参数
allowBlank: false //是否为不为必填
},{
xtype:'combo',//多选框案例
allowBlank: false,
//autoSelect:true,
listConfig:{
emptyText:'未找到匹配值',
loadingText:'正在加载...',
maxHeight:100
},
name:'type',
fieldLabel:'规则类型',
triggerAction:'all',
store:ruleTypeStore,
displayField:'name',
valueField:'id',//提交的值
queryDelay:300, //查询延迟时间
editable:false,
// readOnly:true,
//value:'type',
queryMode:'remote', //'remote'为远程模式
forceSelection:true, //表示必须是列表中存在的值
typeAhead:true //允许自动选择匹配部分
}
],
buttons: [{
text: '取消',
handler: function() {
// this.up('form').getForm().reset(); 重置的动作
brUnitRuleGrid.addRuleWindow.close();
}
}, {
text: '确定',
formBind: true, //only enabled once the form is valid
disabled: true,
handler: function submit(){
var brUnitId = Ext.getCmp('brUtinTabPanel_br').selectBrUnitId;
var form = addRuleFrom.getForm(); //可以获得form实例
// var form = this.up('form').getForm();
form.findField('unitId').setValue(brUnitId); //form可以根据name查找表单标签,并设置值
// if (form.isValid()) {
// form.submit({
// success: function(form, action) {
//
// brUnitRuleGrid.addRuleWindow.close(); //表单提交完以后关闭窗口
// brUnitRuleGridStore.load(); //列表显示的数据重新load
//
// },
// failure: function(form, action) {
//
// alert("添加失败");
// }
// });
// }
表单的回填:
var loadRuleEdit = function(id){
// var params = editRuleForm.getForm().getValues(); 可以获得表单里的数据
editRuleForm.getForm().load({
url:'rule/loadRule.action',
params:{id:id},
method:'post',
success:function(form,action){
},
failure: function(form, action) {
BusinessCommon.showMessageBox({type:'error',msg:action.result.failMesg,title:'失败'});
}
});
};
调用form.load()方法可以回填数据,返回json对应表单的name属性