上传文件或图片 type=file change事件只触发一次

原因:该问题并不是由change事件失效造成的,而是ajaxFileUpload插件造成的,它会把原来的file元素替换成新的file元素,所以之前绑定的change事件就失效了,需要重新绑定一下


1.替换掉原来的input框

2.remove原来的input框,然后在添加进新的一样的input框

3.重新绑定change事件。

html

<input type="file" name="file" class="aside_file" id="upLoadImg"  v-on:change="updateLoadImg()" >
js

updateLoadImg:function(){
    var self = this;
    var fileId = "upLoadImg";
    var fileSuffixs = 'image/jpg,image/jpeg,image/png';
    var files = event.currentTarget.files[0];
    var fileType = files.type;
    if(files.size > 2097152) {
        self.qnObjectValidate.qnqPicUrl = true;
        return;
    }
    $.ajaxFileUpload({
        url:'up/ntpl/uploadOriginal',
        type:'post',
        secureuri: false, //一般设置为false
        fileElementId: fileId, //文件上传空间的id属性  <input type="file" id="file" name="file" />
        dataType: 'json', //返回值类型 一般设置为json
        success: function (res) {
            if(res.status == 'success')
            {
                self.qnQuestionVo.qnqPicUrl = res.url;
                self.qnObjectValidate.qnqPicUrl = false;
            }
        },
        complete:function(){
            $('#upLoadImg').change(function(){
                self.updateLoadImg();
            });
        },
        error: function(){
            alert("上传图片失败!");
        }
    });
},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值