jQuery表单自动提交IE中的文件输入更改

时间:2012-06-06 19:21:29

标签: javascript jquery html forms file-upload

此论坛已涵盖此主题,但我还没有找到可用的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();          
    });

3 个答案:

答案 0 :(得分:1)

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

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

这是唯一可以执行此类操作的浏览器。

再次感谢Microsoft,您的浏览器是“工作”> :(

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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