前端----重置type为file的input

    今天在做项目的时候,遇到一个问题,之前有人在一个<li>标签上添加了点击事件,然后这个点击事件触发一个type为file的input按钮的onchange事件。问题就出现了,如果上传两次相同的图片,不会触发onchange事件,因此产生一个bug。

    代码如下:

<li class="solz_title_li" onclick="imgupload()">
        <img src="/resources/images/图层-3.png">图片
        <input type="file" id="imgfile" style="display:none;" onchange="previewImage(this)">
</li>
<script type="text/javascript">
    function imgupload(){
        document.getElementById("imgfile").click();
    }
</script>

    我本来想着如果把onchange事件改为onclick事件,那么这个问题就解决了。结果,点击是会上传,但第一次点击事件并没有反应,第二次点击会把第一次的传上去,因此我又将其改了回去。这时,我就在想如果每次上传我都能把input内容清空,那么每次都会触发onchange事件。

    因为我的input按钮时在一个id为imgForm的表单中,且此表单也只有文件上传一个input,所以我每次上传成功后都添加了如下代码

document.getElementById("imgForm").reset();


猜你喜欢

转载自blog.csdn.net/hey_mrli/article/details/80850091