Extjs中file上传的时候,进度条提示

在extjs3.4中,当文件多大,上传持续时间久的时候,必须给用户友好的进度条提示,虽然 waitMsg : '正在处理中...',也能出现进度条,但是,它会来回的滚动,所以,解决办法是用  Ext.MessageBox.show来提示:

buttons : [{
                text : '上传',
                handler : function() {
                    if (!formPanel.getForm().isValid()) {
                        Ext.Msg.alert("提示", "请选择上传文件");
                        return;
                    }
                    Ext.MessageBox.show(
                        {
                            title:'请稍候',
                            msg:'保存数据中......',
                            progressText:'',    //进度条文本
                            width:300,
                            progress:true,
                            closable:false
                        }
                    );
                    //控制进度条速度
                    var f=function(v){
                        return function(){
                            if(v==12)
                            {
                                Ext.MessageBox.hide();
                            }
                            else
                            {
                                var i=v/11;
                                Ext.MessageBox.updateProgress(i,Math.round(100*i)+"% 完成");
                            }
                        }
                    }
                    for(var i=1;i<13;i++)
                    {
                        setTimeout(f(i),i*500);//从点击时就开始计时,所以500*i表示每500ms就执行一次
                    }
                    formPanel.form.submit({
                        //waitMsg : '正在处理中...',
这样就可以控制按照百分比去显示进度了.

你可能感兴趣的:(Extjs中file上传的时候,进度条提示)