打开文件对话框未打开

时间:2015-11-10 03:39:07

标签: javascript dialog

我的网站上有一个输入和其他普通按钮文件:

<input type="file" id="myid_upload_background_input" onClick="testClick();"/>

当按钮被cliked时,myid_templates_editor_open_file_dialog('myid_upload_background_input');

会调用以下函数
function myid_templates_editor_open_file_dialog(elemId)
{
    var elem = document.getElementById(elemId);
    if(elem && document.createEvent) {          
        var evt = document.createEvent("MouseEvents");
        evt.initEvent("click", true, false);
        elem.dispatchEvent(evt);            
    }   
}   

function testClick(){
    alert('Click event is invoked in an input file.');
}               

通过单击普通按钮运行程序后,它会显示消息Click event is invoked in an input file.这意味着输入文件的单击事件已成功创建,但为什么打开文件对话框无法打开?

1 个答案:

答案 0 :(得分:0)

尝试在.click()元素的input type="file"处理程序中的onclick元素上调用button

document.getElementById("button").onclick = function() {
  document.getElementById("upload").click()
}

function testClick() {
  console.log("Click event is invoked in an input file.");
}
<button id="button">Click here</button>
<br/>
<br/>
<br/>
<input type="file" id="upload" onclick="testClick()" />