IE8 和 IE9 上的 Javascript 错误

标签 javascript internet-explorer

我在 IE8 和 IE9 上遇到“this.0.files.0”为空或不是对象错误,Chrome 和 Mozila 不会抛出任何错误。

$(function()) {
    var fileType = ['txt' , 'csv' ];
    $('.input_file').find('input [type = "file" ]').live('change', function (e)) {
        $this = $(this) 
        var ext = $this.val() === " " ? " " : this.value.match(/\.(.+)$/)[1];
        if($this.val()) {
            $this.parent().find('label').text.($this[0].files[0].name)  
        }
    }
}

我不确定为什么上面的代码会抛出 javascript 错误 'this.0.files.0' is null or not an object

最佳答案

IE < 10 不支持 html5 文件 API,即不支持 HTMLInputElement.FileList,您必须解析 HTMLInputElement.value 才能获取文件名。

关于IE8 和 IE9 上的 Javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16255636/

相关文章:

javascript - 水平子菜单在iPhone上不起作用(在Chrome和Safari上可用)

javascript - JWT token 未在 $resource 中的 header 上设置

javascript - 这里宣布了什么?申报后效果如何?

javascript - 插入输入字段后使用 enter 提交表单中断 - 为什么以及如何修复?

javascript - IE 跟随链接甚至在 onclick ="return false;"之后

javascript - 如何避免 JSDoc 在 Node JS 函数中生成全局范围文档?

javascript - Colorbox 无法在 IE 中正确加载

javascript - VBScript 单击网页表上调用嵌入式 (?) Javascript 函数的链接

javascript - IE6/7 和类名 (JS/HTML)

css - Internet Explorer 双三次背景图像重新缩放