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

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

DDD
发布: 2024-12-03 13:03:12
原创
460 人浏览过

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中文网其他相关文章!

来源:php.cn
上一篇:如何有效地从 JavaScript 对象数组中提取唯一属性值? 下一篇:如何在 HTML 和 JavaScript 中处理表单输入的数据验证以及为什么同时使用这两种方法是有益的!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
相关专题
更多>
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板