如何以编程方式使用JavaScript打开文件选择器?

时间:2012-08-26 21:21:31

标签: javascript google-chrome

  

可能重复:
  In JavaScript can I make a “click” event fire programmatically for a file input element?

我天真地尝试了以下方法,使用JavaScript以编程方式打开文件选择器(请参阅小提琴here):

<input type='file'>​

<script>
    $(function () {
        $('input').click();
    });
</script>

以上不起作用。如何使用JavaScript打开input type='file'的文件选择器?

2 个答案:

答案 0 :(得分:8)

出于安全原因,您无法触发对话框,除非它是对某些用户触发事件的响应。例如,您可以通过单击其他元素来触发对话框:

$(function () {
    $(".someElement").click(function () {
        $('#f').click();
    });
});

Working example

答案 1 :(得分:5)

作为安全措施,您只能在用户输入上打开此类对话框,例如单击事件(在任何元素上)。您无法随意打开它,例如页面加载。

http://jsfiddle.net/fEBFp/2/