自定义按钮样式选择文件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语法。


目录
相关文章
|
JSON 前端开发 Java
layui上传图片,前端直接拷代码,后端……
layui上传图片,前端直接拷代码,后端……
|
监控 Java 应用服务中间件
SpringBoot3---核心特性---1、快速入门
SpringBoot3---核心特性---1、快速入门
|
jenkins 持续交付
Jenkins常用插件Copy Artifact的使用
使用Copy Artifact插件,可以完成不同任务间传输文件
2496 0
Jenkins常用插件Copy Artifact的使用
|
4月前
|
缓存 NoSQL Java
Java 防重放攻击实战:从原理到落地
重放攻击(Replay Attack)是一种常见的网络攻击手段,攻击者通过截取网络中传输的合法请求数据(如API调用参数、令牌等),然后在未授权的情况下重复发送该请求,以达到欺骗服务器、获取非法利益的目的。在Java开发中,重放攻击多发生在HTTP接口(尤其是RESTful API)、RPC调用、分布式系统通信等场景。要防御重放攻击,核心思路是让每个合法请求都具备“唯一性”和“时效性”,使攻击者截取的旧请求无法被服务器正常处理。
846 1
|
6月前
|
小程序 JavaScript 前端开发
基于微信小程序的校园外卖订餐配送系统
本研究针对校园外卖配送效率低、体验差等问题,设计并实现基于微信小程序的智能配送平台。融合SSM、Vue、uni-app等技术,优化点餐、支付与配送流程,提升师生用餐体验与餐饮管理效率。
|
7月前
|
数据采集 机器学习/深度学习 人工智能
2026年具身智能商业化浪潮前瞻:开发者工具与软件生态的万亿级掘金图谱
在具身智能执行器和传感器等硬件成本持续下降的背景下,真正驱动其大规模商业化爆发的,并非单一的硬件产品,而是其背后的软件与生态系统。正如互联网的价值最终体现在软件应用与服务上,具身智能的商业价值正在从传统的“硬件产品销售”转向“软件与服务订阅”。RaaS等创新商业模式的兴起,正是这一趋势的直接体现。这里我们将深入剖析2026年具身智能领域,特别是围绕数据采集、训练和任务开发的软件工具与服务所蕴藏的万亿级商业机遇,为开发者与投资者描绘一幅详尽的掘金图谱。
977 0
|
9月前
|
存储 供应链 监控
如何开发仓库管理系统里的出入库管理板块?(附架构图+流程图+代码参考)
仓库管理系统(WMS)是企业管理库存、优化仓储运营的重要工具。本文详解WMS中出入库管理模块的开发,涵盖功能设计、业务流程、代码实现及常见问题解答,助你掌握入库出库管理的核心要点与开发技巧。
|
人工智能 前端开发 API
MoneyPrinterTurbo:23.9K Star!这个AI把写文案+找素材+剪视频全包了,日更10条不是梦
MoneyPrinterTurbo 是一款功能强大的 AI 工具,支持通过主题或关键词自动生成视频文案、素材、字幕与背景音乐,并合成高清短视频,适合批量生成与多语言支持。
1684 4
|
数据处理 定位技术 开发者
甘特图、IPO图、DFD图
甘特图、IPO图、DFD图
|
前端开发 安全 测试技术
短剧cps分销模式系统开发技术规则
短剧CPS分销模式系统开发涉及系统架构设计、数据库设计与实现、功能模块开发、安全性与合规性及开发与测试流程。系统采用前后端分离、微服务架构和容器化技术,确保高性能和可扩展性。功能模块涵盖用户管理、短剧管理、分销机制、支付接口和数据分析,确保系统的全面性和安全性。

热门文章

最新文章