背景
您正在開發一個支援文件選擇和提交的控制項透過降落到指定區域。但是,您注意到在手動提交表單之前,文件輸入保持為空。
解決方案:從 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中文網其他相關文章!