0

我正在使用 iframe 进行文件上传,并且在除 IE 之外的所有浏览器中都可以正常工作。它说在 form.submit 行上拒绝访问。请在下面检查我的代码。

$(function(){
        $('.uploadBanner').click(function () {
               $('.uploadFile').trigger('click');
            });
        $(".uploadFile").on('change', function(e){  
            e.preventDefault();            
            document.getElementById('bannerUploadForm').submit();
        });  

    });

其中我的 .uploadBanner 是隐藏字段的点击事件,而 .uploadFile 是隐藏文件类型

让我知道这一点。

4

2 回答 2

1

由于安全原因,IE 不允许从 javascript 操作 type="file" 输入元素。

您可以解决此问题,即检测浏览器是否ie打开文件上传对话框并让用户手动单击它

if(jQuery.browser.msie) { 
    $('#hiddenUploadForm').dialog();
}
else {
    $('.uploadFile').click();
}
于 2013-07-23T12:33:49.080 回答
0

IE 明确禁止您以编程方式打开文件选择器对话框(通过触发单击事件),然后以编程方式上传任何选定的文件。在这种情况下,当您尝试提交表单时会出现错误。让用户点击文件输入元素,你会没事的。如果您需要设置文件输入元素的样式,这样做并不难。只需使其不透明并添加使其成为包含正确样式的 div 的子级。如果需要,请在 SO 或 Google 上查看细节。

于 2013-07-23T12:36:33.790 回答