Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menetapkan Nilai Input Fail Secara Pengaturcaraan Selepas Seret-dan-Lepaskan?

Bagaimana untuk Menetapkan Nilai Input Fail Secara Pengaturcaraan Selepas Seret-dan-Lepaskan?

DDD
Lepaskan: 2024-12-03 13:03:12
asal
434 orang telah melayarinya

How to Programmatically Set File Input Values After Drag-and-Drop?

Menetapkan Nilai Input Fail pada Gugur Halaman

Latar Belakang

Anda sedang mengusahakan kawalan yang membolehkan pemilihan dan penyerahan fail melalui menjatuhkan ke kawasan yang ditetapkan. Walau bagaimanapun, anda mendapati bahawa input fail kekal kosong sehingga borang diserahkan secara manual.

Penyelesaian: Menetapkan Objek Fail daripada JavaScript

Syukurlah, penyemak imbas moden kini membenarkan tetapan terprogram daripada fail input menggunakan sifat fail. Begini cara anda boleh melaksanakannya menggunakan pemindahan data:

let target = document.documentElement;
let fileInput = document.querySelector('input');

target.addEventListener('drop', (e) => {
  e.preventDefault();
  fileInput.files = e.dataTransfer.files;
});
Salin selepas log masuk

Kaedah Alternatif: FileList

Anda juga boleh menetapkan nilai input fail daripada objek FileList:

let fileInput = document.querySelector('input');

fileInput.files = [file1, file2, ...];
Salin selepas log masuk

Penafian

Keupayaan untuk menetapkan nilai fail input bergantung pada pemindahan data atau objek FileList yang tersedia. Risiko keselamatan warisan yang dikaitkan dengan ciri ini telah ditangani dalam penyemak imbas moden.

Contoh

Tunjuk cara boleh didapati dalam coretan kod yang disediakan di bawah:


biar fileInput = document.querySelector('input');</p><p>target.addEventListener('drop', (e) => {<br> e.preventDefault();<br> fileInput.files = e.dataTransfer.files;<br>});


Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nilai Input Fail Secara Pengaturcaraan Selepas Seret-dan-Lepaskan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan