悟心

          成功不是將來才有的,而是從決定去做的那一刻起,持續累積而成。 上人生的旅途罷。前途很遠,也很暗。然而不要怕。不怕的人的面前才有路。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            93 隨筆 :: 1 文章 :: 103 評論 :: 0 Trackbacks
          上傳控件:    
          var panel3 = new Ext.form.FormPanel({    
              labelAlign : 'left',    
                   labelWidth:
          60,    
              border : 
          false,    
              bodyStyle : 'padding:4px;',    
              frame : 
          false,    
              url : '..
          /ajaxdata/uploadFile.jsp',    
              autoHeight : 
          true,    
              fileUpload : 
          true,    
              items : [{    
                  id : 'file',    
                  autoScroll : 
          false,    
                  xtype : 'textfield'   
                            fieldLabel:'本地上傳',    
                  name : 'file',    
                  hideLabel : 
          true,    
                  
          // inputType : 'file'//按照Ext默認的屬性將inputType設為file時,始終響應不了onchange事件,結果就以autoCreate的方式,如下,因為這種方式相當于html里的input,所以也就響應得了啦!    
             
                  autoCreate : {    
                      tag : 
          "input",    
                      type : 
          "file",    
                      size : 
          "20",    
                      autocomplete : 
          "off",    
                      onChange : 
          "browseImages(this.value);"   
                  }    
              }]    
             
              ,    
              buttons : [{    
                  text : '上傳',    
                  handler : 
          function() {    
                      panel3.getForm().submit({    
                          
          // waitTitle : "請稍候",    
                          waitMsg : "正在上傳",    
                          success : 
          function(form, action){},    
                          failure : 
          function(form, action) {    
                              Global.alert('上傳圖片失敗!');    
                          }    
                      })    
                  }    
              }]    
          });    
             
          /*    
           * 編輯   
           * @date 2008 July 10   
           
          */   
          經過實踐,還存在一種可以激發change事件的方法;    
          首先說一下獲取form里面的field的三種方法:    
           
          1)Ext.getCmp('id');    
           
          2)FormPanel.getForm().findField('id/name');    
           
          3)Ext.get('id/name');  //前提是FormPanel在界面上顯示出來了    
             
          應用上面的第1和第2種方法得到的組件均觸發不了change事件,只有第三種方法可以    
          觸發,前提是FormPanel要在界面上顯示出來,所以需要觸發show事件,然后在show    
          事件里調用Ext.get('id
          /name'),由于FormPanel經常是放在Ext.Window里的,所    
          以新的問題又來了:    
            
          1)調用FormPanel.on('show',fn);//當Window顯示出來的時候,事件沒有觸發    
            2)調用FormPanel.getForm().on('show',fn);//情況同上    
            3)調用FormPanel.ownerCt.on('show',fn);//OK 一切搞定    
          其中scope也是需要注意的一項!    
                
             如果再不行的話,可以先調用:    
                FormPanel.ownerCt.on('render',
          function(){    
                    FormPanel.ownerCt.on('show',fn,
          this);    
                },
          this);   
          posted on 2010-08-29 13:52 艾波 閱讀(3342) 評論(2)  編輯  收藏 所屬分類: Extjs

          評論

          # re: extjs 圖片上傳 2011-06-26 08:27 葉旭
          請問你的 onChange 是干嘛用的 將文件轉成文件流嗎?我按照你的方法去做了 行不通 請求 進入不了后臺的action 直接 dopost完畢就就結束了不進入用戶的請求action中  回復  更多評論
            

          # re: extjs 圖片上傳[未登錄] 2013-08-13 17:02 z
          z  回復  更多評論
            

          主站蜘蛛池模板: 昌平区| 阜新市| 大悟县| 靖边县| 郎溪县| 屯昌县| 天津市| 广平县| 义马市| 容城县| 郎溪县| 光山县| 阳朔县| 东乡县| 阳新县| 泌阳县| 项城市| 卫辉市| 南阳市| 庐江县| 含山县| 海伦市| 乌鲁木齐市| 西吉县| 布尔津县| 龙里县| 大悟县| 商都县| 台湾省| 常德市| 宣化县| 简阳市| 闸北区| 开江县| 万荣县| 泸溪县| 九龙县| 英吉沙县| 如皋市| 德昌县| 天台县|