美好的一天,
我正在尝试模拟浏览文件元素上的点击,但我无法使其正常工作。
我发现了这个: http://www.randomsnippets.com/2008/03/05/simulate-a-button-click-via-javascript/
并尝试使用'button'和'submit'类型:
<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.');">
但当我尝试将其更改为'file'时:
<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.');">
在Firefox和IE8中不起作用。但文件浏览器窗口会显示在Google Chrome中。
这种方法有问题吗?我如何才能在FF和IE8中使用它?
非常感谢!
答案 0 :(得分:4)
这是一个安全限制,可以防止恶意javascript从用户计算机上传文件,而不需要他或者通过打开文件选择对话框来欺骗他。你不能在javascript中做到这一点,它不是一个bug,它是一个功能。
答案 1 :(得分:0)
这也取决于你为什么需要这个?如果这是出于测试目的,您可以使用一些现有的框架,如FuncUnit:
http://www.beletsky.net/2010/12/functional-testing-by-javascript-with.html