此论坛已涵盖此主题,但我还没有找到可用的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();
});
答案 0 :(得分:1)
Internet Explorer 8阻止了您的“拒绝访问”,因为微软中的一群不那么聪明的人做出了决定。
如果您尝试在输入类型文件中触发click方法,那么稍后您将在提交中遇到问题。
这是唯一可以执行此类操作的浏览器。
再次感谢Microsoft,您的浏览器是“工作”> :(
答案 1 :(得分:0)
您是否尝试为浏览器访问的文件分配权限? 你清除缓存了吗? 尝试设置到期日期? 尝试用css(“display”,“block”)/ css(“display”,“none”)替换show()/ hide()
答案 2 :(得分:0)
这仍然是一个无法解决的问题。为了使其工作,用户必须单击浏览按钮。这里的技巧是修改浏览按钮,使其适合图像。