开发者

Javascript: Simulate a click in <input type="file">

Good day,

I'm trying to simulate a click on a browse file element but I couldn't make it work.

I found this: http://www.randomsnippets.com/2008/03/05/simulate-a-button开发者_开发技巧-click-via-javascript/

and tried and it works in 'button' and 'submit' types:

<input type="checkbox" onClick="document.getElementById('theSubmitButton').click();">Check the box to simulate a button click
<input type="submit" name="theSubmitButton" id="theSubmitButton" value="Button" onClick="alert('The button was clicked.');">

but when I tried to change it to 'file' type:

<input type="checkbox" onClick="document.getElementById('theSubmitButton').click();">Check the box to simulate a button click
<input type="file" name="theSubmitButton" id="theSubmitButton" value="Button" onClick="alert('The button was clicked.');">

It wouldn't work in Firefox and IE8. But the file browser window appears in Google Chrome.

Is there a problem with this approach? How could I make it work in FF and IE8?

Thank you very much!


That's a security restriction to prevent malicious javascript from uploading files from a users computer without him wanting that or tricking him in doing so by opening a file selection dialog. You can't do it in javascript, and it's not a bug, it's a feature.


It also depends, why you need this? If this is for testing purposes you can use some existing frameworks, like FuncUnit:

http://www.beletsky.net/2010/12/functional-testing-by-javascript-with.html

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜