【前端】【探究】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)

大家都在看

  • keil使用汇总

    ​ 一:参考博客 参考的教程如下: 首先必须声明的一点是所有的博客都来自于博主strongerHuang,我只是为了记录方便copy下来,如有侵权,请联系删除帖子。链接地址如下:h…

    Linux 2023年6月13日
    0105
  • [apue] 标准 I/O 库那些事儿

    标准 IO 库自 1975 年诞生以来,至今接近 50 年了,令人惊讶的是,这期间只对它做了非常小的修改。除了耳熟能详的 printf/scanf,回过头来对它做个全方位的审视,看…

    Linux 2023年6月6日
    0126
  • Unity中Button的一些基础用法

    Button的功能探究 Interactable(是否可交互) 可交互简单来说所指的是按钮能否被点击,有true和false两种状态 public Button testButto…

    Linux 2023年6月7日
    0102
  • Ajax 技术(四)

    目的: 熟练掌握AJAX基础和XMLHttpRequest对象及其方法。 重点掌握AJAX发送请求的具体过程,及过程中的不同状态。 要求: 实现用户注册表单中,使用AJAX技术根据…

    Linux 2023年6月13日
    0102
  • NTP服务器实现

    时间服务器是一种计算机网络仪器,它从参考时钟获取实际时间,再利用计算机网络把时间信息传递给用户。虽然还有一些比较少用或过时的协议仍然在使用,但现时最重要及广泛使用,作为时间信息发送…

    Linux 2023年6月7日
    080
  • MySQL安装卸载、idea中Database的使用、常用的sql语句

    MySQL安装卸载 MySQL安装 在下面的 资源链接中下载MySQL软件 压缩包(绿色版)…

    Linux 2023年6月6日
    0109
  • Jenkins+svn自动化部署完整教程

    1、概述 Jenkins 是一个可扩展的持续集成引擎。主要用于持续、自动地构建/测试软件项目、监控一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的se…

    Linux 2023年6月7日
    084
  • C++的回调函数

    一、简介 本文主要介绍C++中如何使用回调函数。 二、回调函数介绍 回调函数主要在”回”字,和正常的函数调用方式不太一样。正常的函数由开发者自己定义返回类型…

    Linux 2023年6月7日
    084
  • 单片机 MCU 固件打包脚本软件

    ​ 1 前言 开发完 MCU 软件后,通常都会生成 hex 文件或者 bin 文件,用来做固件烧录或者升级,如果用来做产品开发,就涉及到固件版本的问题,初学者通常采用固件文件重命名…

    Linux 2023年6月7日
    089
  • oracle删除超过N天数据脚本

    公司内做的项目是工厂内的,一般工厂内数据要求的是实时性,很久之前的数据可以自行删除处理,我们数据库用的oracle,所以就想着写一个脚本来删除,这样的话,脚本不管放在那里使用都可以…

    Linux 2023年6月7日
    0101
  • 双系统设置默认启动系统

    在原有windows系统下,我们装完Ubuntu系统后,会出现Ubuntu的grub引导界面(倒计时后自动进入Ubuntu),如下图所示。 假设我们需要将倒计时后默认启动的系统改为…

    Linux 2023年6月14日
    0125
  • 如何优化前端性能?

    导读:随着前端的范畴逐渐扩大,深度逐渐下沉,富前端必然带来的一个问题就是性能。特别是在大型复杂项目中,重前端业务可能因为一个小小的数据依赖,导致整个页面卡顿甚至崩溃。本文基于Qui…

    Linux 2023年6月8日
    0109
  • NoteOfMySQL-08-视图

    视图是从一个表或多个表中导出的表,是一种虚拟存在的表,不占用存储空间。视图可以使用户的操作更方便,并且可以保障数据库系统安全性。 1. 视图概述 视图中保存的仅仅是一条select…

    Linux 2023年6月14日
    075
  • 我为 Netty 贡献源码 | 且看 Netty 如何应对 TCP 连接的正常关闭,异常关闭,半关闭场景

    欢迎关注公众号:bin的技术小屋,本文图片加载不出来的话可查看公众号原文 本系列Netty源码解析文章基于 4.1.56.Final版本 写在前面….. 本文是笔者肉眼…

    Linux 2023年6月6日
    082
  • histogram的类型详解

    采样点 每隔指定的时间会采集并上报一次数据,称为采样点。 请注意这里采集的是当前瞬间的数据 count 对采样点的 次数累计和(count) bucket 对采样点的 次数进行统计…

    Linux 2023年6月13日
    071
  • Redis深入浅出

    bash;gutter:true; RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前…

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