我试图创建一个调用“文件”类型输入事件的按钮,以便输入本身不显示,并且我可以按照this后的样式设置按钮的样式。形式看起来像这样:“.click();”触发器“onchange”
<form action="imageUpload.php" method="post" enctype="multipart/form-data" >
<input type="file" id="selectedImage" style="display: none;" onchange="this.form.submit()" />
<button onclick="document.getElementById('selectedImage').click();" />
</form>
当我点击该按钮,fileselect对话弹出,但文件被采摘前的“imageUpload.php”已经被调用。但是,当我通过删除按钮并显示输入本身来取出中间人时,它按预期工作:在选择文件后调用“imageUpload.php”。
我假设“.click();”函数触发“onchange”,即使值没有改变。它是否正确?有没有办法在不立即调用onchange的情况下从另一个按钮触发文件选择对话框?或者有没有办法来检查文件是否在onchange中被选中?
在此先感谢。
使用按键的按键式按钮时,是在表单中。无类型按钮的默认操作是提交表单。还要注意,'button'不是自闭的,结束标签是强制性的。 – Teemu
这里是https://jsfiddle.net/0423vd6f/ – RohitS