清空input type=file的值并为其绑定事件

场景描述

最近在写一个项目时,用到了文件上传,上传文件时用的是ajax上传,一般会用到onchange事件,但是它是在文件内容改变的情况下触发,如果我选了一个文件,结果下一次还选同一个文件,那就触发不了这个事件了,因此我们要清空一下input type=file的内容。

解决方案

HTML代码
<input type="file" class="myfile">
JS代码
function upload(){
    $('.myfile').change(function(){
        其他代码
        .
        .
        .
        $('.myfile').replaceWith('<input type="file" class="myfile"');//新的input替代旧的
        upload();//至关重要
    );
}
说明

其实有很多清空的方法,这只是其中的一种,还有什么克隆再将其value值清空也可以,我想说的是,我在网上找方法时,看到好多,他们都说可以,其实是真的可以,只是我自己犯了个错误,那就是上面代码被注释的至关重要那一句。因为你加了新的input,但是你并没为它去绑定change事件,这样的话,你确实是把input值清空了,但是你再点击选取文件,change事件并未触发。所以一定要注意哦!

拜拜咯

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值