我正在使用输入文件,所以当我上传图片然后将其删除时,我无法再次上传相同的图片,只有另一个不同的
addimg :
obj2.on('change', function(e){
e.stopPropagation();
e.preventDefault();
$(this).css('border',"4px dotted #bdc3c7");
var objid = $(this).parents('.drop').attr("id");
var files = e.target.files;
var file = files[0];
if (files && files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$("#" + objid).find(".addCont").css('visibility', 'hidden');
$("#" + objid).css('background-image', 'url(' + e.target.result + ')');
$("#" + objid).find('.imgmenucontainer').css('visibility', 'visible');
}
reader.readAsDataURL(files[0]);
}
});
删除:
$(".custombtnremove").click(function(){
var objid = $(this).parents('.drop').attr('id');
$("#" + objid).css('background-image', '');
$("#" + objid).find('.imgmenucontainer').css('visibility', 'hidden');
$("#" + objid).find(".addCont").css('visibility', 'visible');
});
所以我认为它必须是改变事件
答案 0 :(得分:2)
删除图像后清空输入文件。
$(".custombtnremove").click(function(){
//previous code here
//reset input file
$(obj2).val(""); //-> or obj2.val(""); if obj2 is already a jquery object.
});
答案 1 :(得分:1)
1. upload file A
2. remove file A
3. upload file B
4. remove file B
5. upload file A
如果工作正常,则必须添加删除事件:
$(obj2).val("");
原因是您没有更改数据以与之前的相同数据进行比较...未触发事件change
。解决方案:删除后 - 将数据设置为空,所有应该正常工作。在change
事件中,您可以为""
val添加其他条件。