【前端】【探究】HTML input类型为file时如何实现自定义文本以更好的美化

想到英语四级考了两次都没过,我觉得要多使用英文,所以本文使用英文书写。

本文讲述了遇到的问题,解决的思路,并讲述了解决方案,也许对你会有帮助。

2022年9月25日凌晨3点20分@萌狼蓝天

Problem description

when we want to use input of file type, it has a very serious problem : the text content(文本内容) displayed (显示)cannot be set by us , And the default text display varies(不同) from browser to browser!

  • It displays on Edge as shown below

【前端】【探究】HTML input类型为file时如何实现自定义文本以更好的美化
  • It displays on Webstorm default preview browser(Webstorm默认预览浏览器) as shown below

【前端】【探究】HTML input类型为file时如何实现自定义文本以更好的美化

Solution

We can use a button to select file and use a text box to show selected file’s name , instead of file type input.

This does not mean that we discard input of file type , just hide it and use other elements to control it , it’s still the one that actually works.(这并不意味着我们抛弃了文件类型的 “input”,只是隐藏了它并使用其他元素来控制它,它仍然是真正起作用的)

Example

1.Use Button to select file

Use display:none to hiden file type input


When we click on the button with the id selectFile, Javascript will get the element of file type input, and then execute its click event(点击事件).

2.Use a box to show selected file’s name

You can use a text type inputp tags、 div tags and so on.

Now,I’ll use a text type input as case to write a demo

Prefor a text type input and set it read only, the code is as follows:


Now, we have to thinking about how to get the selected file’name.

Obviously, we need to read the name of the uploaded file from the input of the file type, the code is as follows:


tips : you can use outline:none to make the element outline hiden.

The complete code


【前端】【探究】HTML input类型为file时如何实现自定义文本以更好的美化

Original: https://www.cnblogs.com/mllt/p/web-input-file.html
Author: 萌狼蓝天
Title: 【前端】【探究】HTML input类型为file时如何实现自定义文本以更好的美化

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611069/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • shell order

    1,与 “-a” : a是and if [ 条件1 -a 条件2 ] ;then shell order shell order … fi 2,…

    Linux 2023年5月28日
    0105
  • beego 的打包问题

    使用BeeGo2.0 编译后 打包上传到服务器出现运行时问题。在app.conf配置文件开发环境改为生产环境就行了 runmode = prod Original: https:/…

    Linux 2023年6月13日
    095
  • LeetCode-210. 课程表 II

    题目来源 题目详情 现在你总共有 numCourses 门课需要选,记为 0 到 numCourses – 1。给你一个数组 prerequisites ,其中 prerequis…

    Linux 2023年6月7日
    087
  • 华为ensp网络拓扑图使用MSTP、OSPF、DHCP、端口聚合以及PPP(CHAP认证)

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    0102
  • Flask 易错点

    1.With上下文管理器 常用: with open("file_name","wb") as f: f.write("hello…

    Linux 2023年6月8日
    086
  • MySQL之多表查询、Navicat及pymysql

    一、多表查询 1.1 数据准备 — 建表 create table dep( id int primary key auto_increment, name varchar(20…

    Linux 2023年6月14日
    0104
  • Gumbel_Softmax 概要

    解决argmax不可导,无法进行反向传播的问题 出现的原因: argmax(x,y)不可导的根本原因是其向量空间不是光滑的,有尖锐的点和面;而是某些任务中,argmax会被插入到反…

    Linux 2023年6月7日
    0110
  • WPF 已知问题 资源字典树引用与资源寻找的坑

    大家都知道,在 WPF 里面,可以让资源字典合并其他资源字典,从而定义出资源字典引用树。然而在资源字典引用树里面,如果没有理清关系,将可以作出一个超级复杂的引用关系网。如果在性能优…

    Linux 2023年6月6日
    0107
  • lambda跨账号调用elasticache redis调查结果

    1.本地lambda与被调用方的redis都要绑定一个VPC,至少设定一个子网和路由表,设定好安全组; 2.本地VPC创建对等连接,被调用方接受连接; 3.将各自的IPv4 CID…

    Linux 2023年5月28日
    074
  • [编译] 9、在Linux下搭建 nordic 最新基于 zephyr 的开发烧写环境

    前言 1、概述 2、安装工具 3、获取 nRF Connect SDK 源码 4、安装 Python modules 5、安装 toolchain 6、下载 nRF Command…

    Linux 2023年6月8日
    084
  • 实现批量自动部署Linux操作系统

    实战描述: xxx公司所服务的用户IT环境中有很多的Linux系统,品种也五花八门,有RHEL、Centos、OpenSUSE甚至还有测试环境使用的RockyLinux。当有大量的…

    Linux 2023年6月7日
    0102
  • 我为儿子开发的第一款Android App,用于九九乘法练习

    用一天时间在macbook上安装好了Android Studio For Mac,注意dl.google.com只支持电信网络下载,家里宽带如果是移动或者联通的,使用AS下载And…

    Linux 2023年6月14日
    096
  • 【实测】Python 和 C++ 下字符串查找的速度对比

    最近在备战一场算法竞赛,语言误选了 Python ,无奈只能着手对常见场景进行语言迁移。而字符串查找的场景在算法竞赛中时有出现。本文即对此场景在 Python 和竞赛常用语言 C+…

    Linux 2023年6月13日
    0116
  • 设计模式——-模板方法模式

    模板方法模式定义:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 抽象类的父类,父类中定义了基本方法,模板方…

    Linux 2023年6月7日
    099
  • 真正在大厂干了几年,我学会了反内卷[转]

    内卷这个概念的内涵很丰富,与我们的生活息息相关。为了普及和传播知识,我参考了相关的信息,把我个人的粗浅理解奉献给朋友们。 什么是内卷? 内卷 involution,与之对应的是 e…

    Linux 2023年6月8日
    0117
  • 网络通信知识地图

    知识地图是一种知识导航系统,并显示不同的知识存储之间重要的动态联系。本篇主要就是从更高的视角将之前的文章的结构思路展现出来。文章结构的思路实际上也是达到架构师程度要掌握的网络通信知…

    Linux 2023年6月14日
    0110
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球