
本文旨在指导开发者如何使用JavaScript在HTML文件上传时获取文件名。通过监听change事件,我们可以实时获取用户选择的文件名,并将其显示在页面上。本文将提供详细的代码示例和步骤,帮助你轻松实现这一功能,并解决常见问题。
监听change事件获取文件名
当用户通过 元素选择文件后,会触发 change 事件。我们可以通过监听这个事件来获取用户选择的文件信息,包括文件名。
以下是一个完整的示例:
获取文件名
代码解释:
立即学习“Java免费学习笔记(深入)”;
SHOPEX简灰服装商城整站源码下载。 安装方法:1.解压上传程序至网站根目录.. 访问:域名/bak.(用户名:admin 密码:123456)2.进入帝国备份王后,配置数据库数据库信息.选择-www.taomoban.net目录.还原数据库.3.修改FTP目录下的config/config.phpphp 数据库连接信息.4.登陆网站后台--清空缓存..5.删除bak文件夹 后台:shopadm
-
HTML 结构:
- : 文件上传的输入元素,id 设置为 filee,并使用CSS隐藏。
- : 一个按钮,用于触发文件选择对话框。
- : 一个 span 元素,用于显示文件名。
-
JavaScript 代码:
- let file = document.getElementById('filee');: 获取文件输入元素。
- let btn = document.getElementById("btn");: 获取按钮元素。
- let filename = document.getElementById("filename");: 获取 span 元素。
- file.addEventListener('change', event => { ... });: 监听文件输入元素的 change 事件。
- const [selectedFile] = event.target.files: 从 event.target.files 数组中获取第一个选择的文件对象。
- filename.innerText = selectedFile.name;: 将获取到的文件名设置到 span 元素的 innerText 属性中,从而显示文件名。
- btn.addEventListener('click', () => { file.click(); });: 监听按钮的点击事件,点击时触发文件输入元素的点击事件,打开文件选择对话框。
隐藏文件上传输入框
上述代码中,我们使用了一些 CSS 样式来隐藏原生的文件上传输入框。这是为了美化界面,通常我们会自定义一个按钮来触发文件选择。
#filee {
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}这些 CSS 样式将文件上传输入框隐藏,但仍然保留其功能。点击按钮时,实际上是触发了隐藏的文件上传输入框的点击事件。
注意事项
- 安全性: 浏览器出于安全考虑,不允许通过 JavaScript 直接设置文件上传输入框的值。用户必须手动选择文件。
- 文件对象: event.target.files 返回的是一个 FileList 对象,包含了用户选择的所有文件。如果只允许单文件上传,可以通过 event.target.files[0] 获取第一个文件对象。
- 兼容性: 确保你的代码在目标浏览器上具有良好的兼容性。
总结
通过监听 change 事件,我们可以轻松获取 HTML 文件上传的文件名,并将其显示在页面上。这种方法简单有效,可以为用户提供更好的交互体验。 结合CSS样式,可以自定义文件上传的样式,使页面更加美观。记住,安全性是第一位的,不要尝试通过 JavaScript 直接设置文件上传输入框的值。










