html input的file文件输入框onchange事件触发一次失效解决方法

本文介绍了一个文件上传功能中遇到的问题:提交一次后,file输入框的change事件无法再次触发。通过替换原有的input框并重新绑定onchange事件解决了该问题。

最近在做一个图片上传的功能,出现提交一次后,file输入框的change事件无法再次触发的bug,就是说提交一次后必须刷新才能再次提交,这就坑了~

于是想办法解决它~

在网上找了一些资料,找到这几种方法:

1、替换掉原来的input框
2、remove原来的input框,然后在添加进新的一样的input框

我测试了之后发现可以用下面的方法解决这个问题:
第一步:上传完成后替换掉原来的input框
第二步:重新绑定onchange事件

问题解决!!

代码如下:

 1 <script>
 2         $(document).ready(function () {
 3             /* jquery handleError版本兼容 */
 4             jQuery.extend({
 5                 handleError: function (s, xhr, status, e) {
 6                     if (s.error) {
 7                         s.error.call(s.context || s, xhr, status, e);
 8                     }
 9                     if (s.global) {
10                         (s.context ? jQuery(s.context) : jQuery.event).trigger("ajaxError", [xhr, s, e]);
11                     }
12                 },
13                 httpData: function (xhr, type, s) {
14                     var ct = xhr.getResponseHeader("content-type"),
15                         xml = type == "xml" || !type && ct && ct.indexOf("
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kingofyz

此处弱弱求打赏~~万一有好心人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值