3

这个主题已经在这个论坛上讨论过,但我还没有找到一个有效的 IE 解决方案(测试 7、8 和 9)。在其他浏览器中运行良好。我希望有人有解决方案。提前致谢!

这是关于什么的:

我想摆脱标准文件输入元素,所以我添加了一个图像。单击它会显示浏览窗口。选择文件后,将提交表单。由于浏览器安全性,我暂时显示文件输入元素、焦点和隐藏它。

问题:

IE 显示“访问被拒绝”。jquery.1.7.2.js 第 3241 行,字符 6。如果没有显示/隐藏技巧,问题仍然存在。当我单击浏览按钮并选择一个文件时,表单确实被提交。问题似乎是文件浏览操作是由另一个元素触发的:

完整代码:

    $('#fakeupload').click(function(){
        $('#form').show();
        $('#realupload').focus().trigger('click');
        $('#form').hide();          
    });

    $('#realupload').change(function(){
        $('#form').show();
        $('#form').submit();
        $('#form').hide();          
    });
4

3 回答 3

1

Internet Explorer 8 以“拒绝访问”来阻止您,因为微软的一群不那么聪明的人做出了这个决定。

如果您尝试在输入类型文件中触发 click 方法,那么稍后您将在提交中遇到问题。

这是唯一做这种事情的浏览器。

再次感谢微软,你的浏览器是一个“作品”>:(

于 2012-07-25T19:12:28.297 回答
0

您是否尝试为浏览器访问文件分配权限?你清除缓存了吗?试试设置有效期?尝试用 css("display","block")/css("display","none") 替换 show()/hide()

于 2012-06-06T20:13:31.913 回答
0

这仍然是一个无法解决的问题。为了使其工作,用户必须单击浏览按钮。这里的技巧是修改浏览按钮,使其适合图像。

于 2012-06-27T08:16:16.697 回答