使用IE 8的blueimp jQuery文件上传的多个实例

时间:2014-12-05 16:55:00

标签: jquery internet-explorer-8 upload blueimp

我使用blueimp的jQuery文件上传时遇到了一个奇怪的情况。

我的代码就像这样简单:

<div><input type="file" name="files" id="f1"></div>
<div><input type="file" name="files" id="f2"></div>


<script>
$("input:file").each(function () {
    $(this).fileupload({
        url: "./?a=upload&t=",
        dataType: 'json',

        add: function (e, data) {
            alert("add");
            /* same as default implementation */
            if (data.autoUpload || (data.autoUpload !== false &&
                    $(this).fileupload('option', 'autoUpload'))) {
                data.process().done(function () {
                    data.submit();
                });
            }
        },

        start: function (e) {
            alert("start");
        }
    });
});
</script>

在Firefox和Chrome中一切正常:点击任何输入字段时,会显示“添加”和“开始”消息,并提交请求。

在IE 8中,似乎创建了两个实例(加载页面时没有出现错误),但是当我单击文件输入并选择要上载的文件时,只显示“添加”消息,然后IE触发错误:

cannot call methods on fileupload prior to initialization; attempted to call method 'process'

页面中只有一个文件输入控件可以正常工作,所以我想这个问题必须与多个实例有关。

我正在使用jQuery上传插件9.8.1和jQuery 1.11.1。

提前致谢。

1 个答案:

答案 0 :(得分:1)

尝试使用IE8进行演示页面(here),它不起作用(尽管演示页声称应该这样做)。