1

我有一个要求,我需要从另一个按钮触发 input[type=file] 并上传文件。这个 input[type=file] 是一个弹出窗口,用于浏览用户想要上传的文件。此窗口成功打开,但在上传文件时,它给了我SCRIPT5: Access is Denied error. 我无法用 input[type=file] 替换假按钮,有没有一种方法可以触发 input[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">
4

2 回答 2

5

使用对我有用的另一个答案中显示的代码: working JSFiddle

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

我有同样的问题,但确定它是 IE 而不是代码。在花了太多时间试图解决我的代码中的错误之后;我启动了我的笔记本电脑,但无法复制它。最终重新启动并重新启动 IE 解决了该问题。

于 2012-11-12T06:21:28.497 回答
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 测试

于 2012-09-23T23:04:24.803 回答