【问题标题】:Accept Image in Filefield ExtJs接受 Filefield ExtJs 中的图像
【发布时间】:2014-04-28 13:49:35
【问题描述】:

我的应用程序中有一个文件字段组件,我想将其限制为仅图像文件。我在stackoverflow上发现了这个问题:

How to restrict file type using xtype filefield(extjs 4.1.0)?

Add accept="image/*" attribute to input field in ExtJs

我正在使用此代码:

{
  xtype:'filefield',
  listeners:{
    afterrender:function(cmp){
      cmp.fileInputEl.set({
        accept:'audio/*'
      });
    }
  }
}

但此代码仅在我第一次单击“检查”按钮时有效,当我再次单击它时,限制消失。我一直在寻找像onclick 这样的其他事件来在该事件中编写此代码,但我没有找到最好的方法,有人知道吗?

您好。

【问题讨论】:

    标签: javascript image extjs filefield


    【解决方案1】:

    这是因为当您提交表单时,它会调用Ext.form.field.File#reset()。 您应该像这样覆盖 reset() 方法,以保持 accept 属性:

    {
            xtype:'filefield',
            reset: function () {  
              var me = this,                                                                
                clear = me.clearOnSubmit;
             if (me.rendered) {   
                me.button.reset(clear);
                me.fileInputEl = me.button.fileInputEl;
                me.fileInputEl.set({
                   accept: 'audio/*'    
                });
                if (clear) {
                   me.inputEl.dom.value = '';
                }
                me.callParent();
            }},
            listeners:{
               afterrender:function(cmp){
                  cmp.fileInputEl.set({
                      accept:'audio/*'
                  });
               }
            }
    }
    

    【讨论】:

    • 缺少一个}来关闭reset方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    • 2011-04-08
    • 2014-03-19
    • 2013-10-12
    • 2013-02-23
    • 1970-01-01
    相关资源
    最近更新 更多