【发布时间】:2019-08-21 06:31:01
【问题描述】:
我正在使用多个输入文件类型来上传多个图像,它们将在 div 的输入部分下方预览。预览图像都有一个 X 按钮,如果按下它,它将被删除。单击 X 时的预览图像我删除了它们,但是当我这样做并按下提交时,即使那些被删除的图像也被提交。
以下是一些截图:
按下提交按钮后的屏幕截图
在最后一张截图中,它显示所有 3 张图片都在上传,即使我删除了其中一张也是如此。我怎样才能让它工作??
<input id="files" class="img-upload imagefet" type="file" name="upload_attachment[]" id="control" data-multiple-caption="{count} files selected" multiple/ >
<div class="result-wrapper">
<div id="result">
</div>
我正在使用的脚本
<script>
//Check File API support
var newImageObj = [];
if (window.File && window.FileList) {
var filesInput = $("#files");
filesInput.on("change", function (e) {
var files = e.target.files; //FileList object
var result = $("#result");
var pic_caption = $('#journalInputTitle').val();
var i = 1;
$.each(files, function (i, file) {
var pReader = new FileReader();
pReader.addEventListener("load", function (e) {
var pic = e.target;
result.append("<span class='thumbnail-wrapper thumbnail-wrapper" + i + "'><img class='thumbnail' src='" + pic.result + "'/><span class='thumbnail-category'>" + pic_caption + "</span><button class='remove' id='clear' onclick='removeDiv(this);'>×</button></span>").insertAfter("#files");
$(".remove").click(function(){
$(this).parent(".thumbnail-wrapper").remove();
});
//show();
});
pReader.readAsDataURL(file);
i++;
newImageObj.push(file);
});
});
} else {
console.log("Not supported browser");
}
【问题讨论】:
-
你还需要从
newImageObj数组中删除文件 -
其中一个应该有帮助,第一个是按索引从数组中删除,第二个是按值从数组中删除
-
伙计们,我已经能够与我的团队一起解决这个问题,感谢您的帮助:D
标签: javascript jquery html