Ext.MessageBox.show验证问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 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();
            }

猜你喜欢

转载自blog.csdn.net/u011267841/article/details/62887612
今日推荐