我有一个要求,我需要从另一个按钮触发输入[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">
答案 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进行测试