位置: IT常识 - 正文

<input type=“file“>实现上传文件(inputtypefile 文件名)

编辑:rootadmin
<input type=“file“>实现上传文件

推荐整理分享<input type=“file“>实现上传文件(inputtypefile 文件名),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:中给固定值,input type="file"录音有兼容问题么,input type="file"录音有兼容问题么,input type="file"录音有兼容问题么,的概念,的概念,,,内容如对您有帮助,希望把文章链接给更多的朋友!

嗨害嗨,我又来了奥。今天讲一个项目中常见的例子,就是利用input type="file"来进行表单上传文件。首先,我们写好html,如下。

<form id="form1" action="/" method="post" enctype="multipart/form-data"> <div> <label for="profile_pic">Choose file to upload</label> <input multiple="multiple" type="file" id="profile_pic" name="profile_pic" accept=".jpg,.jpeg,.png"> </div> <div> <button type="button" id="btn">提交</button> </div> </form>

这外面是一个form表单,method方法为post,action属性规定当提交表单时,向何处发送表单数据。(这是必需的属性),我们这里直接用‘/’代替了。enctype是encode type的缩写,就是编码类型的意思。默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据。

<input type=“file“>实现上传文件(inputtypefile 文件名)

然后我们可以利用input type="file"来点击上传文件,multiple为多种多样的,在这里是代表可以上传多个文件(按住ctrl键就可以进行多选)。accept可以限制文件的上传类型,比如只上传图片文件、视频文件、音频文件等等。然后我们点击这个按钮,在没有写type="button"的时候,会发现不用写js直接就可以提交。为什么呢?原来button有一个type属性,而type有三个可选属性:button,submit,reset,而button按钮的type属性默认值是submit ,所以在没有指定type属性的情况下,点击button按钮触发提交form表单。解决:给button添加type属性,属性值设为button,问题就解决了。

现在写js进行表单验证,代码如下:

const btn = document.getElementById("btn"); const form1 = document.getElementById("form1"); const pic = document.getElementById("profile_pic"); btn.onclick = function () { //如果文件输入框的文件的长度为0,则弹出警告 if (pic.files.length == 0) { alert("请先至少选择一个文件!"); return; } //提交文件 HTMLFormElement.submit() 用来提交表单 <form>。 //判断文件是否符合要求 for (let i = 0; i < pic.files.length; i++) { console.log(i); //0 1 2 3 if (!checkFormat(pic.files[i])) { alert("请确保上传的文件符合要求(.jpg/.png/.jpeg)") return } } alert("上传成功!") form1.submit(); } function checkFormat(o) { let filename = o.name;//文件名称 let suffix = filename.substr(filename.lastIndexOf('.') + 1).toLowerCase(); //png jpg等 let file_format = ['jpg', 'png', 'jpeg']; //看看这个后缀存不存在于file_format数组当中 if (file_format.includes(suffix)) { return true } return false }

1、首先获取按钮,表单和input[type="file"]的dom对象,点击按钮的时候,判断:如果文件输入框的文件的长度为0,则弹出警告,然后return禁止提交。 

2、随后,有文件的情况下,点击提交会判断文件格式是否满足要求。这里封装了一个方法(checkFormat),参数是一个对象,如果对象的name中最后一个"."的后缀名为规定的数组里面的值的话,就返回true,否则返回false。这里用到了ES6新特性中的includes方法,判断这个后缀名是否在这个数组里面。如果有一个不在,则弹出警告:请确保上传的文件符合要求(.jpg/.png/.jpeg),再return禁止提交。

3、如果都满足的话,就提交成功。

如果有什么疑问,欢迎在评论区一起讨论,咱们下次见!

本文链接地址:https://www.jiuchutong.com/zhishi/284103.html 转载请保留说明!

上一篇:最贵的京东商品是什么(京东最贵的商品排行)

下一篇:fpdisp5a.exe是什么进程 有什么作用 fpdisp5a进程查询(fp是什么文件)

  • 拼多多砍价老是出0(拼多多砍价老是砍到免单秘籍)

    拼多多砍价老是出0(拼多多砍价老是砍到免单秘籍)

  • win10csgo不能打字(w10csgo不能打汉字)

    win10csgo不能打字(w10csgo不能打汉字)

  • 淘宝订单没有退货选项(淘宝订单没有退款)

    淘宝订单没有退货选项(淘宝订单没有退款)

  • 撤回是ctrl加什么

    撤回是ctrl加什么

  • 华为5x支持电信卡吗(华为5c支持电信卡吗)

    华为5x支持电信卡吗(华为5c支持电信卡吗)

  • vivoz5与z5x的区别(vivoz5和z5x哪个性价比高)

    vivoz5与z5x的区别(vivoz5和z5x哪个性价比高)

  • 苹果手机莫名重启了(苹果手机莫名重启的原因)

    苹果手机莫名重启了(苹果手机莫名重启的原因)

  • 酷狗pc版什么意思(酷狗pc版和android版)

    酷狗pc版什么意思(酷狗pc版和android版)

  • vivox27卡槽怎么有两个孔(vivox27卡槽怎么打开视频)

    vivox27卡槽怎么有两个孔(vivox27卡槽怎么打开视频)

  • 苹果11玻璃机身容易碎吗(苹果玻璃机身和磨砂机身哪个好看)

    苹果11玻璃机身容易碎吗(苹果玻璃机身和磨砂机身哪个好看)

  • 微信证件审核需要几天(微信证件审核失败有提示吗)

    微信证件审核需要几天(微信证件审核失败有提示吗)

  • 手机声音太小如何解决(手机声音太小如何开免提模式)

    手机声音太小如何解决(手机声音太小如何开免提模式)

  • 苹果8p有双击唤醒功能吗(苹果8p有双击唤醒吗)

    苹果8p有双击唤醒功能吗(苹果8p有双击唤醒吗)

  • ipad需要装360吗(ipad装什么软件)

    ipad需要装360吗(ipad装什么软件)

  • 苹果11promax是双卡吗(苹果11promax是不是双卡双待手机)

    苹果11promax是双卡吗(苹果11promax是不是双卡双待手机)

  • 多久不登微信会被收回(多久不登微信会被注销)

    多久不登微信会被收回(多久不登微信会被注销)

  • 龙江人社注册网络异常(龙江人社注册网站官网)

    龙江人社注册网络异常(龙江人社注册网站官网)

  • hashtable底层原理(hashtable底层数据结构)

    hashtable底层原理(hashtable底层数据结构)

  • 米8安装未知来源在哪(米8未知来源禁止安装在哪关)

    米8安装未知来源在哪(米8未知来源禁止安装在哪关)

  • 小米8se如何设置指纹支付(小米8se如何设置来电铃声)

    小米8se如何设置指纹支付(小米8se如何设置来电铃声)

  • 苹果手机取消订阅服务在哪里(苹果手机取消订阅是不是就不会扣费了)

    苹果手机取消订阅服务在哪里(苹果手机取消订阅是不是就不会扣费了)

  • iphonexr防水等级(iphone xr防水等级是多少)

    iphonexr防水等级(iphone xr防水等级是多少)

  • cpu天梯图2022最新版高清图(cpu天梯图2022最新版1240p)

    cpu天梯图2022最新版高清图(cpu天梯图2022最新版1240p)

  • 漏出“天窗”的熔岩管,夏威夷火山国家公园 (© Tom Schwabel/Tandem Stills + Motion)(天窗漏进来的水去哪了)

    漏出“天窗”的熔岩管,夏威夷火山国家公园 (© Tom Schwabel/Tandem Stills + Motion)(天窗漏进来的水去哪了)

  • smbtree命令  基于文本的SMB网络浏览器工具(smitty命令用法)

    smbtree命令 基于文本的SMB网络浏览器工具(smitty命令用法)

  • 小规模纳税人代收水电费税率
  • 公司更换营业执照需要多久
  • 机票抵扣进项税怎么填申报表
  • 增值税存量和增量留抵退税
  • 旅行社团队意识
  • 母子公司无偿划转股权印花税
  • 盈余公积未分配利润
  • 研究开发费用的归集
  • 影响固定资产折旧的基本因素
  • 有现金折扣方式有哪些
  • 以前年度的负债没挂账怎么办
  • 处置子公司的收益
  • 事业单位职工福利费支出范围
  • 外单位的人能否作为本单位的费用报销人?
  • 设计服务发票怎么入账
  • 不得抵扣啥意思
  • 可供出售金融资产属于流动资产吗
  • 电子承兑汇票支付信用查询
  • 租赁发票交税交多少
  • 专票电话写错了怎么办
  • 转让长期股权投资怎么算
  • 以前月份个税没交怎么办
  • 公司成立前的准备工作有哪些
  • 管理不善造成的损失的会计分录
  • 个人所得税申请免税条件
  • 新装的电脑开机慢是什么原因
  • 差错更正未来适用法
  • 自来水公司的水压力是多少
  • 企业并购效益
  • PHP:preg_last_error()的用法_PCRE正则函数
  • PHP:pg_result_error()的用法_PostgreSQL函数
  • 撤销银行账户
  • 企业票据贴现费怎么算
  • 企业租房费用可以计入成本吗
  • vue cannot set property
  • 提供营业执照范本图片
  • python smote算法
  • 技术转移转化是干什么的
  • 现流表与资产负债表的关系
  • 一次性取得租赁合同
  • 汇算清缴纳税调整需要做账吗
  • 企业所得税期初余额什么意思
  • 小规模纳税人企业所得税征收标准
  • 资本公积怎么计提
  • 暂估成本分录怎么写
  • 公司抽奖奖品设置
  • 个体工商户的个税起征点
  • 员工迟到扣款如何做账
  • 加权平均净资产收益率公式
  • 利润分配未分配利润是净利润吗
  • 房屋租赁税按什么收
  • 净利润为负数会计分录
  • 营业收入就是开票的不含税金额吗
  • 办理国有土地使用证
  • 购买银行结构性存款安全吗
  • 加计抵减10%政策适用范围
  • 主营业务成本怎么结转本年利润
  • 施工赔偿款怎么记账
  • 养老院老人摔倒责任划分
  • 营改增后建筑业税率
  • MSSQL 2005/2008 日志压缩清理方法小结
  • Win Server 2008 r2 开启 Aero 桌面主题的方法
  • centos的优缺点
  • linux查看磁盘挂载的命令
  • 内存故障会不断重启么
  • centos soft lockup
  • WIN7系统如何关掉游戏屏保
  • win7开始菜单没有搜索框
  • 铁嘴银牙剧情简介
  • [置顶]bilinovel
  • perl的$_
  • javascript html5摇一摇功能的实现
  • vue cli mock
  • jquery提交form表单数据
  • jquery常见问题
  • 一般纳税人开租赁费发票税率是多少
  • 电子税务局如何查询财务报表
  • 会计开票要填哪些信息
  • 受让企业与转让企业区别
  • 减免税备案登记表样本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设