版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011267841/article/details/62887612
对于ExtJs初学者,验证是一个很头疼的问题,例如我们要验证Ext.MessageBox.show中是否为空的时候,没有相关的属性可以配置,如果使用其回调函数,验证完后输入框会自动关闭,显然达不到我们的要求,这时候,我们要用其他的办法解决,我的解决思路是这样的
首先定义FormPanel面板,我这里使用全局变量
//定义全局变量
var myWin;//定义Ext Window对象
var updateDetailData;//我项目中使用的修改方法
var formPanelCf = new Ext.form.FormPanel({
autoWidth:true,
layout:"form",
frame:true,
labelWidth:260,
labelAlign:"right",
items:[{
xtype:"label",
height : 20
},{
xtype : "textarea",
inputType : 'text',
height : 150,
hideLabel : true,
id:"myid",
anchor : "95%"
}]
});
//我这里结合项目情况做一个修改的例子
updateDetailData = function (type){
var rows = grid2.getSelectionModel().getSelections();
if (Ext.isEmpty(rows)) {
Ext.Msg.alert('提示', '请先选中要操作的项目!');
return;
}
// var strChecked = jsArray2JsString(rows, 'id');
var replymsg = jsArray2JsString(rows, 'replymsg');
Ext.getCmp('myid').setValue(replymsg);
if (!myWin) {
myWin= new Ext.Window({
title:"回复信息",
value:replymsg,
modal:true,
width:400,
height:250,
collapsible:false,
resizable:false,
closeAction:'hide',
// items:[formPanelCf] // 将关闭窗口动作设置为隐藏(不销毁窗口对象)
items : formPanelCf,
buttons : [{
text : '确定',
handler : function(){
var txt = Ext.getCmp('cancelarea').getValue();
txt= Ext.util.Format.trim(txt);// 去空格
if(txt == null || txt == ''){
Ext.Msg.alert('提示','请输入信息!');
Ext.getCmp('cancelarea').setValue('');
}else{
Ext.Ajax.request({
url : 'tjmk.do?method=updateReply',
success : function(response) { // 回调函数有1个参数
var resultArray = Ext.util.JSON
.decode(response.responseText);
Ext.Msg.alert('提示',
resultArray.msg);
store2.reload();
},
failure : function(response) {
Ext.MessageBox.alert('提示',
'操作失败!');
},
params : {
id : type,
replymsg:txt
}
});
myWin.hide();
formPanelCf.getForm().reset();
}
// alert(Ext.getCmp('cancelarea').getValue());
}
}, {
text : '取消',
handler : function(){
myWin.hide();
formPanelCf.getForm().reset();
}
}]
});
}
myWin.show();
}