解决重复上传 onchange 事件不生效问题
阿V
2023-09-28

在做项目的是时候,上传表单使用到了onchange事件,当上传失败后,重复上传该文件,没有反应,发现是onchange没有生效。
onchange的触发条件是当input框的值有变化时才能触发,所以,当上传的文件是同一个文件时不能触发onchange。
例如我的代码:
uploadFile.onchange = function () { var formData = new FormData($('form')[0]); formData.append('file', $('input[type=file]').attr('name')); ...... }
其中有判断当上传失败则提示错误信息这一段:
xhr.addEventListener("load", function (event) { var data = eval('(' + xhr.response + ')'); if(data.code == 0){ layer.alert(data.msg); layer.close(uploadloading); return false; }
解决方法:
当上传失败时,把上传表单的值置空,加上
$("#js-upload-files").val('');
xhr.addEventListener("load", function (event) { var data = eval('(' + xhr.response + ')'); if(data.code == 0){ layer.alert(data.msg); layer.close(uploadloading); $("#js-upload-files").val(''); return false; }
文章版权声明
1、本网站名称:阿V编程
2、本站永久网址:https://www.1892zyw.com
3、本网站的部分文章内容/部分资源可能来源于网络,仅提供给大家学习或参考,如有侵权,请联系站长QQ进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,如有发现请向站长举报