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

标题: input上传按钮美化并且显示选择的文件名 [打印本页]

作者: 洪七公    时间: 2023-4-18 10:21
标题: input上传按钮美化并且显示选择的文件名

获取文件名

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>
复制代码







欢迎光临 源码论坛,商业源码下载,尽在锦尚中国商业源码论坛 (https://bbs.52jscn.com/) Powered by Discuz! X3.3