首頁 >web前端 >js教程 >如何在拖放後以程式設定檔輸入值?

如何在拖放後以程式設定檔輸入值?

DDD
DDD原創
2024-12-03 13:03:12374瀏覽

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

在頁下拉時設定檔輸入值

背景

您正在開發一個支援文件選擇和提交的控制項透過降落到指定區域。但是,您注意到在手動提交表單之前,文件輸入保持為空。

解決方案:從 JavaScript 設定檔物件

幸運的是,現代瀏覽器現在允許程式設定使用 files 屬性的輸入檔。以下是使用資料傳輸實現它的方法:

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

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

替代方法:FileList

您也可以從 FileList設定檔案輸入值object:

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

fileInput.files = [file1, file2, ...];

免責聲明

設定輸入檔案值的能力取決於資料傳輸或可用的 FileList 物件。與此功能相關的舊版安全風險已在現代瀏覽器中解決。

範例

可以在下面提供的程式碼片段中找到示範:


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


以上是如何在拖放後以程式設定檔輸入值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn