首页 >web前端 >js教程 >如何在拖放后以编程方式设置文件输入值?

如何在拖放后以编程方式设置文件输入值?

DDD
DDD原创
2024-12-03 13:03:12434浏览

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>});


以上是如何在拖放后以编程方式设置文件输入值?的详细内容。更多信息请关注PHP中文网其他相关文章!

Object using class Property this input
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:How to Efficiently Extract Unique Property Values from an Array of JavaScript Objects?下一篇:how can data validation for form inputs be handled both in HTML and JavaScript and Why is it beneficial to use both!

相关文章

查看更多