源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 2504|回复: 0

[CSS/Html] input上传按钮美化并且显示选择的文件名

[复制链接]

3116

主题

3518

帖子

13万

金币

超级版主

Rank: 8Rank: 8

积分
276081
发表于 2023-4-18 10:21:24 | 显示全部楼层 |阅读模式

获取文件名

document.getElementById('upload').files[0].name;

获取文件路径

document.getElementById('upload').value;



原生代码
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     <title>Document</title>
  8. </head>
  9. <body>
  10.     <span>文件名:</span>
  11.     <input type="text" id="doc">
  12.     <button>选择文件</button>
  13.     <input type="file" id="upload" onchange="getFile(value)"
  14.     style="opacity: 0.5; margin-left: -74px; width: 74px;">
  15. </body>
  16. </html>
  17. <script>
  18.     function getFile(value){
  19.         // 获取文本框dom
  20.         var doc = document.getElementById('doc');
  21.         // 获取上传控件dom
  22.         var upload = document.getElementById('upload');
  23.         // 获取文件名
  24.         var fileName = upload.files[0].name;
  25.         // 获取文件路径
  26.         var filePath = upload.value;
  27.         // 将文件名载入文本框
  28.         doc.value = fileName;

  29.         console.log(fileName);
  30.         console.log(filePath);
  31.     }
  32. </script>
复制代码

vue代码
  1. <template>
  2.   <div>
  3.     <span>文件名:</span>
  4.     <input type="text" ref="filePath">
  5.     <button>选择文件</button>
  6.     <input type="file" ref="upload"
  7.       name="file" class="upload"
  8.       @change="getFileNameToText" multiple="multiplt"
  9.     />
  10.   </div>
  11. </template>
  12. <script>
  13. export default {
  14.   methods: {
  15.     getFileNameToText() {
  16.       // 获取上传控件dom
  17.       var fileObj = this.$refs['upload'];
  18.       // 获取文件名
  19.       var fileName = fileObj.files[0].name;
  20.       // 获取文件路径
  21.       var filePath = fileObj.value;
  22.       // 将文件名载入文本框
  23.       this.$refs['filePath'].value = fileName;

  24.       console.log(fileName, 'fileName');
  25.       console.log(filePath, 'filePath');
  26.     }
  27.   },
  28. };
  29. </script>
  30. <style scoped>
  31. .upload {
  32.   opacity: 0;
  33.   width: 74px;
  34.   margin-left: -74px;
  35. }
  36. </style>
复制代码


您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-7-23 14:30 , Processed in 0.119983 second(s), 25 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明