如何通过JS和JQuery模拟点击html表单?
How to simulate a click on a html form through JS and JQuery?
我正在开发一个在网页上运行的统一应用程序,我想将文件上传到服务器,通过统一我可以调用页面上的任何 javascript 函数。我已经隐藏了(with CSS) 一个带有文件输入的表单,我的目标是模拟点击这个输入,以便打开文件对话框..
这是表格:
<form id="upload" method="post" action="upload.php" enctype="multipart/form-data">
<input id="lol" type="file" name="upl" multiple/>
</form>
我试过这样做:
<script type="text/javascript">
function testFunction(){
//$("#lol").trigger('click');
$("#lol").click();
alert("...");
}
</script>
都没用,
我可以看到警报..但是没有打开对话框,它不应该工作吗?我对 JS 或 Jquery 没有太多经验:(
提前致谢。
编辑:更正了我想要的元素(id=lol),它仍然不起作用
出于安全原因,在没有直接用户交互的情况下触发文件输入的单击事件很复杂。实际上,这取决于您的浏览器。 Chrome 例如需要一个可见的输入字段。有关详细信息,请参阅 this question。
所以不幸的是,不可能有适用于所有浏览器的通用方法。
我正在开发一个在网页上运行的统一应用程序,我想将文件上传到服务器,通过统一我可以调用页面上的任何 javascript 函数。我已经隐藏了(with CSS) 一个带有文件输入的表单,我的目标是模拟点击这个输入,以便打开文件对话框..
这是表格:
<form id="upload" method="post" action="upload.php" enctype="multipart/form-data">
<input id="lol" type="file" name="upl" multiple/>
</form>
我试过这样做:
<script type="text/javascript">
function testFunction(){
//$("#lol").trigger('click');
$("#lol").click();
alert("...");
}
</script>
都没用,
我可以看到警报..但是没有打开对话框,它不应该工作吗?我对 JS 或 Jquery 没有太多经验:(
提前致谢。
编辑:更正了我想要的元素(id=lol),它仍然不起作用
出于安全原因,在没有直接用户交互的情况下触发文件输入的单击事件很复杂。实际上,这取决于您的浏览器。 Chrome 例如需要一个可见的输入字段。有关详细信息,请参阅 this question。
所以不幸的是,不可能有适用于所有浏览器的通用方法。