IE下使用bootstrap-fileinput清空文件框并设置可用时文件框格式错误

在项目中使用的是bootstrap-fileinput,如下图:




下方是选择文件并上传,上方放文件的展示。上传之后要清空下方的文件框并设置可用,代码如下:

//清空上传文件框并设置可用
$("#file-case").fileinput('refresh').fileinput('enable');


用这种方法在chrome中可用,展示也是正常的,截图如下:



但是在IE下,上传成功之后同样的设置代码,展示出来的页面效果却不对:



下方的文件框并没有显示全。检查之后发现正常的文件框的div应该是这样的:


但是错误展示的是这样的:


也就是说在IE下文件框的内容并没有展示出来。


本来是想在业务页面中在上传成功之后判断ie并单独设置中间这段代码,但是没有成功。

于是在源码的fileinput.js中查找,搜索enable,可以找到这个函数:

enable: function () {
            var self = this;
            self.isDisabled = false;
            self._raise('fileenabled');
            self.$element.removeAttr('disabled');
            self.$container.find(".kv-fileinput-caption").removeClass("file-caption-disabled");
            self.$container.find(
                ".btn-file, .fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled");
            self._initDragDrop();
            return self.$element;
        },
就是把上传框置为可用。

尝试把判断添加的代码放进去:

enable: function () {
            var self = this;
            self.isDisabled = false;
            self._raise('fileenabled');
            self.$element.removeAttr('disabled');
            self.$container.find(".kv-fileinput-caption").removeClass("file-caption-disabled");
            self.$container.find(
                ".btn-file, .fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled");
            self._initDragDrop();
            
            //判断如果是IE,修改文件框,否则这段div会丢失,文件预览框格式不对。
            if(!!window.ActiveXObject || "ActiveXObject" in window){	
    			$(".file-drop-zone").prepend('<div class="file-drop-zone-title">拖拽文件到这里 …<br>支持多文件同时上传</div>');
    		}
            return self.$element;
        },

添加之后在IE中正常。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值