2012-10-18 34 views

回答

6

你可以像這樣的東西還有:

{ 
     xtype: 'filefield', 
     buttonText: '....', 
     listeners:{ 
      afterrender:function(cmp){ 
       cmp.fileInputEl.set({ 
       accept:'image/*' // or w/e type 
       }); 
      } 
     } 
    } 
+0

爲什麼我無法找到filefield文檔中的afterrender監聽器? – zizoujab

+0

您正在查看哪個版本的文檔?在檢查ExtJS4.2文檔後,我在filefield組件中看到afterrender事件:http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.form.field.File-event-afterrender該方法自ExtJS 3.4.0開始存在。 –

+0

我錯過了(我在sencha的文檔中搜索不是分機),這是我的紅色文檔http://docs.sencha.com/touch/2.3.1/#!/api/Ext.field.File – zizoujab

0
{ 
     xtype: 'fileuploadfield', 
     name: 'file', 
     fieldLabel: 'Photo', 
     labelWidth: 50, 
     allowBlank: false, 
     buttonText: 'SelectPhoto', 
     anchor: '100%', 
     reset: function() { 
      var me = this, 
       clear = me.clearOnSubmit; 
      if (me.rendered) { 
       me.button.reset(clear); 
       me.fileInputEl = me.button.fileInputEl; 
       me.fileInputEl.set({ 
        accept: 'image/*' 
       }); 
       if (clear) { 
        me.inputEl.dom.value = ''; 
       } 
       me.callParent(); 
      }}, 
     listeners:{ 
      change: 'fileInputChange', 
      afterrender:function(cmp){ 
       cmp.fileInputEl.set({ 
        accept:'image/*' 
       }); 
      } 
     }, 
     regex: /(.)+((\.png)|(\.jpg)|(\.jpeg)(\w)?)$/i, 
     regexText: 'Only PNG and JPEG image formats are accepted' 
    } 

正則表達式增加了客戶端驗證,到窗體綁定可以任何形式或你計劃做行動上付諸表決。