位置: 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是什么文件)

  • 苹果手机微信状态怎么设置(苹果手机微信状态怎么关闭不了)

    苹果手机微信状态怎么设置(苹果手机微信状态怎么关闭不了)

  • 微信怎么延时到账给别人发钱(微信延迟到怎么设置)

    微信怎么延时到账给别人发钱(微信延迟到怎么设置)

  • 华为p40双卡槽在哪里(华为p40双卡卡槽在哪)

    华为p40双卡槽在哪里(华为p40双卡卡槽在哪)

  • wi-fi显示无互联网连接是什么意思(wi-fi显示无互联网连接感叹号)

    wi-fi显示无互联网连接是什么意思(wi-fi显示无互联网连接感叹号)

  • 苹果可以连续录像多久(苹果可以连续录制1080 60针多久)

    苹果可以连续录像多久(苹果可以连续录制1080 60针多久)

  • 公交车卡充值可以在手机上面充吗(公交车卡充值可以在苹果手机上面充吗)

    公交车卡充值可以在手机上面充吗(公交车卡充值可以在苹果手机上面充吗)

  • 华硕m5g主板boot灯闪(华硕M5g主板怎样连接wifi)

    华硕m5g主板boot灯闪(华硕M5g主板怎样连接wifi)

  • 苹果相册里的视频加载不出来(苹果相册里的视频怎么变慢动作)

    苹果相册里的视频加载不出来(苹果相册里的视频怎么变慢动作)

  • 如何提高淘宝安全等级过低无法评论(提高淘宝信誉度的方法)

    如何提高淘宝安全等级过低无法评论(提高淘宝信誉度的方法)

  • 不小心点了确认收货可以收到吗(不小心点了确认收货还会正常派送吗)

    不小心点了确认收货可以收到吗(不小心点了确认收货还会正常派送吗)

  • 照片贴纸怎么弄(能在图片上叠加图片的软件)

    照片贴纸怎么弄(能在图片上叠加图片的软件)

  • qq显示有一个共同好友是好友本身吗(QQ显示有一个共友)

    qq显示有一个共同好友是好友本身吗(QQ显示有一个共友)

  • vivo手机怎么去除虚电(vivo手机怎么去掉照片水印)

    vivo手机怎么去除虚电(vivo手机怎么去掉照片水印)

  • 苹果x面容坏了影响大吗(苹果x面容坏了影响使用吗)

    苹果x面容坏了影响大吗(苹果x面容坏了影响使用吗)

  • vivo删除的软件怎么恢复(vivo删除的软件怎么恢复正常)

    vivo删除的软件怎么恢复(vivo删除的软件怎么恢复正常)

  • ie游览器怎么设置兼容(ie游览器怎么设置存取模板格式)

    ie游览器怎么设置兼容(ie游览器怎么设置存取模板格式)

  • 华为多任务界面在哪里(华为多任务界面怎么调成重叠)

    华为多任务界面在哪里(华为多任务界面怎么调成重叠)

  • 华为p20pro支持无线充电吗(华为p20pro支持无线耳机吗)

    华为p20pro支持无线充电吗(华为p20pro支持无线耳机吗)

  • vivo手机设置首选网络类型(vivo手机首页)

    vivo手机设置首选网络类型(vivo手机首页)

  • 红米pro耗电解决方法(红米pro耗电解决办法)

    红米pro耗电解决方法(红米pro耗电解决办法)

  • 学习强国为什么收藏不了(强国每天满分,为什么有人会多几分)

    学习强国为什么收藏不了(强国每天满分,为什么有人会多几分)

  • 如何使用免押金(免押金模式)

    如何使用免押金(免押金模式)

  • 一加七手机发布时间(一加7 发布)

    一加七手机发布时间(一加7 发布)

  • iphonex左上角时间蓝色(iphone左上角显示)

    iphonex左上角时间蓝色(iphone左上角显示)

  • 计算机病毒是(计算机病毒是什么)

    计算机病毒是(计算机病毒是什么)

  • 企业app开发有什么要点(公司开发app需要什么资质)

    企业app开发有什么要点(公司开发app需要什么资质)

  • phpcms后台无法上传图片怎么办(phpcms api)

    phpcms后台无法上传图片怎么办(phpcms api)

  • 外经证预缴税款征收率
  • 一般纳税人的申报方式
  • 计提附加税金额
  • 纳税标准怎么算
  • 双定户经营所得用申报吗
  • 在外地施工的企业应该在哪里申报
  • 职工交的商业保险怎么做账
  • 中国电子口岸证书错误
  • 合伙企业个人所得税怎么申报
  • 差额事业单位的工资是由财政开支吗
  • 存货营业外支出包括哪些
  • 企业办税人员收入怎么算
  • 工程预缴税款会计分录
  • 建筑企业员工培训
  • 广告费准予扣除怎么算
  • 餐费可以列入哪些费用明细
  • 经营性租赁怎么做账
  • 纳税人拒不缴滞纳金是否可单独强制执行
  • 教育费附加减免性质代码
  • 增值税税额计入什么科目?
  • 股东放弃债权账务处理
  • 人民法院被收买了怎么办
  • 核定征收和查账征收,交的税一样吗
  • ntfs磁盘压缩
  • macos big sur最新版本
  • 查补增值税的会计处理
  • 怎么做好零售
  • php最好的编程语言
  • 计提职工养老保险金
  • 鼓励证券投资基金的政策
  • php使用redis缓存技术
  • 税控系统技术维护费税率
  • 微信小程序授权管理在哪里
  • 命令行怎么管理员运行
  • 差旅费的进项税额需要转出吗
  • 管理费用包括项目成本吗
  • 残疾人保证金怎么报税
  • 建筑企业增值税税率是多少
  • 客户的赔偿金会计分录
  • 如何查看简易征信报告
  • phpmail
  • 小程序集合软件
  • 员工实际工资
  • 适用税率9%的征税行为有
  • 使用SQL server创建数据库和表
  • 固定资产清理账户借方
  • 小规模未达到起征点申报表怎么填
  • 月底资产负债表怎么填
  • 商场返券计算公式
  • 相同的商品附带不同的赠品发布
  • 冲销以前月份的凭证
  • 取现发放劳务费怎么做账
  • 公司闲置房屋出租合法吗
  • 允许税前扣除的税金及附加包括哪些
  • 银行回单自助打印可以打多久的记录
  • 会计账簿的设计意义
  • 建账时应考虑的问题包括下列哪三项
  • sql server多表查询
  • sqlserver存储过程实例详解
  • mac查找序列号
  • 使用组策略可控制什么
  • pd虚拟机安装安卓系统
  • mac上dns设置
  • win7开机显示黑屏
  • win10交接wifi
  • javascript概述及作用
  • unity 技术
  • unity如何连接数据库
  • android教学
  • 游戏引擎在游戏开发中的核心作用
  • Android开发工具箱
  • Unity 使用WWW类同步加载资源
  • JavaScript中iframe实现局部刷新的几种方法汇总
  • android通信机制
  • android系统主要特点
  • 一般纳税人公司注销流程
  • 中通快递广东省内收费标准
  • 郑州市地税局局长
  • 出口货物免抵税额怎么申报附加税
  • 2021年房产税收新政
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设