Yêu cầu thg 11 30, 2019 7:25 SA 168 0 2
  • 168 0 2
0

Tải nhiều file trong php

Chia sẻ
  • 168 0 2

https://stackoverflow.com/questions/37205438/image-upload-with-preview-and-delete-option-javascript-jquery

Mình cần handle tải nhiều file với chức năng preview + xóa thêm ảnh mới như câu trả lời đúng ở trong topic trên stackover

Vấn đề của hiện tại là jquery chỉ xử lí được việc xóa ảnh trong thẻ image mà không xóa được ảnh đã lựa chọn trong input với type=file

Mình nghĩ đến việc tạo thêm thẻ input mới nhưng như vậy xử lí sẽ rất cồng kềnh vì phải xử lí rất nhiều thứ.

Không biết có solution nào để xóa 1 trong nhiều file đã chọn với input type = file này không ?

Cảm ơn mọi người ạ

2 CÂU TRẢ LỜI


Đã trả lời thg 12 1, 2019 1:25 CH
0

Vấn đề là bạn chưa tìm đúng chỗ để xóa thôi bạn ơi. Khi bạn handle event xóa bằng js, bạn console giúp mình cái input ra, mình dám cá trong đó sẽ có một array các value chính là các ảnh mà bạn đã chọn, sau đó bằng các biện pháp nghiệp vụ, bạn có thể xóa một value trong mảng đó, rồi gán lại vào thẻ input:

let oldValue = $('input').val();
console.log(oldValue);
let newValue = oldValue.shift( // ) // đoạn này bạn tự xử lý để loại bỏ 1 phần tử khỏi mảng theo như bạn mong muốn
$('input'').val(newValue) // gán lại vào thẻ input
Chia sẻ
Đã trả lời thg 12 2, 2019 2:14 SA
0
         for (var i = 0; i < filesLength ; i++) {
                var f = files[i]
                var fileReader = new FileReader();
                fileReader.onload = (function(e) {
                    var file = e.target;
                    $("<img></img>",{
                        class : "imageThumb",
                        src : e.target.result,
                        title : file.name
                    }).insertAfter("#files");
               });
               fileReader.readAsDataURL(f);
           }

Bạn add thêm 1 btn delete rồi add thêm attribute data-id là index xuất hiện của image. Khi bấm click vào btn sẽ lấy ra data-id và loại bỏ index khỏi mảng files là đc. (thanks)

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí