自定义按钮样式选择文件button“实现”file功能

简介: 前端渣渣在用到文件上传的时候,html的input file的选择文件样式太丑,更改也很不如意,很想用自定义按钮实现替代,特作笔记

前端渣渣在用到文件上传的时候,html的input file的选择文件样式太丑,更改也很不如意,很想用自定义按钮实现替代,特作笔记


  • 在实际代码中,能够实现选择文件的只有file属性,button无法实现选择文件。然而市面上很多选择文件的用button完成视觉效果,实际上就是将file隐藏起来,点击button的时候触发函数点击file属性的文件。如果需要文件名显示出来,那么还需要其他截取字符串和一些鼠标事件的操作函数。
  • 环境:jquery,其他自定义样式。
  • 应了解知识:button的click()事件,file属性的几大事件:


(1)mousedown

(2)focus

(3)mouseup

(4)click

(5)blur

(6)focus

(7)change


效果图:


20190226160808575.png2019022616082789.png


html的展示代码:


 <div class="layui-upload">
      <label id="lb"></label><br>
      <input type="button" value="选取文件" class="layui-btn layui-btn-normal" onclick="getFile()">
      <input style="display: none" type="file"  name="file" id="getF" onchange="clickF()">
      <button type="submit" class="layui-btn" id="test9">开始上传</button>
 </div>
 ---
 ---
 <script>
    function getFile(){
      $("#getF").click();
    }
    var filename="";
    function clickF() {
        filename=$("#getF").val();
        var filenames=filename.split("\\");
        filename=filenames[filenames.length-1];
        $("#lb").text(filename);
    }
</script>


看下逻辑,就是点击按钮,函数中实现点击隐藏的file,file的onchange关联一个函数,改变之后将文字显示出来。语法为jquery语法。


目录
相关文章
|
Web App开发 JavaScript 前端开发
Node.js与Go语言的对比?
【8月更文挑战第4天】Node.js与Go语言的对比?
1782 3
|
Java Maven 开发工具
Maven 中央仓库提交Jar包全程指南
本文记录一下将jar上传到maven中央仓库的全过程,文中项目依托在github上,使用的是mac环境 (关于maven、jdk的环境配置不属于本文内容)
1057 0
Maven 中央仓库提交Jar包全程指南
|
存储 供应链 监控
如何开发仓库管理系统里的出入库管理板块?(附架构图+流程图+代码参考)
仓库管理系统(WMS)是企业管理库存、优化仓储运营的重要工具。本文详解WMS中出入库管理模块的开发,涵盖功能设计、业务流程、代码实现及常见问题解答,助你掌握入库出库管理的核心要点与开发技巧。
|
Java Maven
手把手教你发布自己的jar包到maven中央仓库
手把手教你发布自己的jar包到maven中央仓库
2552 0
手把手教你发布自己的jar包到maven中央仓库
|
8月前
|
人工智能 语音技术 数据安全/隐私保护
世优科技参编!国内首个客服数字人国标发布,共建行业标准生态
我国首项数字人国家标准《信息技术 客服型虚拟数字人通用技术要求》(GB/T 46483-2025)正式发布,标准涵盖功能架构、交互能力、数据安全等维度,填补行业空白,推动数字人产业规范化、高质量发展。
359 1
|
消息中间件 机器学习/深度学习 监控
研发思维03----嵌入式操作系统固件开发经验之经典
研发思维03----嵌入式操作系统固件开发经验之经典
1900 0
研发思维03----嵌入式操作系统固件开发经验之经典
|
10月前
|
数据采集 机器学习/深度学习 人工智能
2026年具身智能商业化浪潮前瞻:开发者工具与软件生态的万亿级掘金图谱
在具身智能执行器和传感器等硬件成本持续下降的背景下,真正驱动其大规模商业化爆发的,并非单一的硬件产品,而是其背后的软件与生态系统。正如互联网的价值最终体现在软件应用与服务上,具身智能的商业价值正在从传统的“硬件产品销售”转向“软件与服务订阅”。RaaS等创新商业模式的兴起,正是这一趋势的直接体现。这里我们将深入剖析2026年具身智能领域,特别是围绕数据采集、训练和任务开发的软件工具与服务所蕴藏的万亿级商业机遇,为开发者与投资者描绘一幅详尽的掘金图谱。
1370 0
|
数据处理 定位技术 开发者
甘特图、IPO图、DFD图
甘特图、IPO图、DFD图
|
jenkins 持续交付
Jenkins常用插件Copy Artifact的使用
使用Copy Artifact插件,可以完成不同任务间传输文件
2585 0
Jenkins常用插件Copy Artifact的使用
|
监控 Java 应用服务中间件
SpringBoot3---核心特性---1、快速入门
SpringBoot3---核心特性---1、快速入门

热门文章

最新文章