open file upload dialog on click

2019-02-16 07:13发布

I have to open file upload dialog by clicking some other button i.e i am hiding file upload control(visibility:hidden) and on clicking of some other button i want to open that dialog. Below is the code which i am having:

<input type="file" style="visibility: hidden;" />

Below is the javascript:

$('#button').click(function() {
    $('input[type=file]').click();
});

It is working fine in Firefox 4 and IE8 but in chrome12 it is not working i.e the dialog is not being opened. Any idea why?

3条回答
The star\"
2楼-- · 2019-02-16 07:41

In your example, your file input did not have an id, yet you are trying to reference it with #input. This works for me:

$('#button').click(function() {
    $('input[type=file]').click();
});
查看更多
迷人小祖宗
3楼-- · 2019-02-16 07:51

Tested today the simple code given in the question and the situation has changed:

  • IE9: works
  • Chrome23: works
  • Firefox15: works

There is just one catch - on IE the .click() is a blocking operation while on other browsers it is not.

查看更多
干净又极端
4楼-- · 2019-02-16 07:53

You should position input[file] just above your custom control. And then bind to it`s onclick.

Also make in it bigger font-size, as only this way you can increase it's height.

查看更多
登录 后发表回答