IE不允许上传文件,如果输入type = file不是键盘点击

时间:2012-09-23 22:58:11

标签: jquery html internet-explorer xhtml input-type-file

我有一个要求,我需要从另一个按钮触发输入[type = file]并上传文件。此输入[type = file]是用于浏览用户想要上载的文件的弹出窗口。此窗口成功打开,但在上传文件时,它会显示SCRIPT5: Access is Denied error。我无法用输入[type = file]替换假按钮,有没有办法可以触发点击输入[type = file],即使它不是来自键盘点击并仍然上传文件。根据我的研究,除非我们通过键盘点击触发input-type = file,否则IE不允许上传文件。

var uploadConfig ={
    init: function(){
        $('input#fileUpld_input').livequery("click",function() {
        });
    },
    open: function() {
        $('input#fileUpld_input').trigger('click');
    },
    upload: function(){
        $('.start').click();
    }

浏览器

<input type="file" id="fileUpld_input" name="fileUpld_input" class="fileUpld">

2 个答案:

答案 0 :(得分:5)

使用另一个为我工作的答案中显示的代码:working JSFiddle

<input type="file" id="fileUpld_input" name="fileUpld_input" class="fileUpld">

我遇到了同样的问题,但确定是用IE而不是代码。花了太多时间试图解决我的代码中的错误;我解雇了我的笔记本电脑,无法复制它。最终重启和重启IE修复了这个问题。

答案 1 :(得分:0)

  

有没有办法可以触发点击输入[type = file],即使它不是   从键盘点击。

试试这个:http://jsfiddle.net/RASG/FkdCm/

<强> HTML

<input type="file" id="fileUpld_input" name="fileUpld_input" class="fileUpld">

<br>
<br>
<br>

<button id="theotherbutton">try me</button>

<强> JS

$('#theotherbutton').click(function() { $('#fileUpld_input').click() })

使用IE 9和FF 16进行测试