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

  • 怎么用小爱同学控制空调(怎么用小爱同学开电脑)

    怎么用小爱同学控制空调(怎么用小爱同学开电脑)

  • 如何将cad图纸复制到word(如何将cad图纸复制到excel)

    如何将cad图纸复制到word(如何将cad图纸复制到excel)

  • qq打卡点赞怎么取消(qq打卡点赞怎么看)

    qq打卡点赞怎么取消(qq打卡点赞怎么看)

  • 谷歌商城无法登录是什么原因(谷歌商城无法登入)

    谷歌商城无法登录是什么原因(谷歌商城无法登入)

  • 改微信号条件(微信改微信号的条件)

    改微信号条件(微信改微信号的条件)

  • 华为快捷返回键怎么取消(华为快捷返回键怎么调出来noval 10)

    华为快捷返回键怎么取消(华为快捷返回键怎么调出来noval 10)

  • 微信私聊腾讯保存期限(微信私聊腾讯保险可靠吗)

    微信私聊腾讯保存期限(微信私聊腾讯保险可靠吗)

  • 苹果突然sim卡故障怎么办(苹果突然sim卡故障重启就好了)

    苹果突然sim卡故障怎么办(苹果突然sim卡故障重启就好了)

  • 日版ipad和国行的区别(ipadair日版和国行的区别)

    日版ipad和国行的区别(ipadair日版和国行的区别)

  • 淘宝买家降权多久恢复(淘宝买家降权多少钱)

    淘宝买家降权多久恢复(淘宝买家降权多少钱)

  • 华为的屏幕录制在哪里设置(华为的屏幕录制为什么自己没有声)

    华为的屏幕录制在哪里设置(华为的屏幕录制为什么自己没有声)

  • 旗舰机和普通机的区别(旗舰机和普通机有啥区别)

    旗舰机和普通机的区别(旗舰机和普通机有啥区别)

  • flash快捷保存键是什么(flash中保存文件的快捷键)

    flash快捷保存键是什么(flash中保存文件的快捷键)

  • iphone 热点链接人查看(iphone热点连接电脑)

    iphone 热点链接人查看(iphone热点连接电脑)

  • soul怎么找到通讯录好友

    soul怎么找到通讯录好友

  • 苹果xr声音小怎么调(苹果xr声音小怎么弄)

    苹果xr声音小怎么调(苹果xr声音小怎么弄)

  • excel怎么制做表格(excel怎么制作表)

    excel怎么制做表格(excel怎么制作表)

  • md788ch/b是什么型号(md788ch/b是什么型号多少钱)

    md788ch/b是什么型号(md788ch/b是什么型号多少钱)

  • oppo reno十倍聚焦是不是5g手机(opporeno十倍焦距参数)

    oppo reno十倍聚焦是不是5g手机(opporeno十倍焦距参数)

  • 开机时按f12键的作用(开机时按f12键的功能)

    开机时按f12键的作用(开机时按f12键的功能)

  • 滴滴快车平台抽成多少(滴滴打车怎么加入平台)

    滴滴快车平台抽成多少(滴滴打车怎么加入平台)

  • 电脑出现iexplore.exe应用程序错误怎么办?如何解决(电脑出现一堆英文无法开机)

    电脑出现iexplore.exe应用程序错误怎么办?如何解决(电脑出现一堆英文无法开机)

  • token的作用(token的用处)

    token的作用(token的用处)

  • WordPress添加自定义CSS代码的几种方法(wordpress自定义文章模板)

    WordPress添加自定义CSS代码的几种方法(wordpress自定义文章模板)

  • 城建税减半征收政策文件
  • 交通费中的高速费怎么算
  • 预期信用损失率计算公式
  • 专利年费入什么会计科目
  • 个体户自有厂房怎么申请
  • 空白作废什么意思
  • 非货币性资产交换补价大于25%的会计处理
  • 政府给予的工业支出
  • 发票已入账跨年可以红冲重开吗
  • 经营租赁的固定资产计提折旧吗
  • 个体工商户支付宝怎么开票
  • 支票票号都是第二行吗
  • 购房房产税如何支付
  • 生产成本包括哪三类
  • 预付会议费会计分录
  • 高新技术企业的税收优惠政策
  • linux c gui
  • windows资源管理器未响应怎么办
  • php23种设计模式
  • 个人出差借款会计分录
  • PHP:Memcached::replaceByKey()的用法_Memcached类
  • 委托外单位加工发出的材料会影响账面价值吗
  • 最薄的索尼微单
  • 工伤个人承担的费用
  • 发票开具的有哪些原则
  • 固定资产售卖的账务处理
  • 转让土地需要办什么手续
  • 猿创征文,宝藏工具篇
  • PHP strcmp()和strcasecmp()的区别实例
  • layui 树形
  • 客运公司做账怎么做
  • 企业所得税如何征收
  • 美团算钱
  • 闭包怎么求
  • 织梦模板安装完整教程
  • 个体户逾期未报年报后补报了怎么办
  • 税金及附加主要包括什么
  • 土地摊销计入成本还是费用
  • 小规模纳税人附加税减免政策2023
  • 来料加工的账务处理新收入准则
  • 普通发票可以开多少税率
  • 未取得发票该怎么说明
  • 公司名下没有车可以办油卡吗
  • 农业生产成本核算方法
  • 允许税前扣除的税金及附加包括哪些
  • 质保金可以先不开票吗
  • 国家资产负债表
  • 筹建期开办费明细
  • 如何查询公司的营业执照照片
  • 购房发票可以开专票
  • 新成立的公司工会经费需要交吗
  • 保险由承租方还是出租方承担
  • 财务会计与管理会计的区别与联系?谁更棒?
  • sqlserver
  • sql中nullif
  • xp如何给文件夹加密码
  • Windows Server 2008下的自助安全防御
  • ubuntu怎么修改配置文件
  • ubuntu更新设置在哪
  • Linux中终止某个用户的所有进程的简单方法
  • unix系统的文件分为哪三种存取结构
  • ubuntu安装教程20.04 u盘
  • vim 多窗口启动以及相互切换
  • cmd命令符大全
  • macpro删除文件
  • linux命令光标移动到末尾
  • ie10变成ie8
  • linux Intel 845集成显示驱动下载
  • js基于什么语言
  • jQuery实现别踩白块儿网页版小游戏
  • 使用Android Go的手机
  • nginx日志路径配置
  • django 自定义权限管理
  • Node.js中Bootstrap-table的两种分页的实现方法
  • javascript怎么写
  • unity3d知乎
  • jquery使用什么方法隐藏元素
  • domcer下载
  • 进项发票的税收分类编码怎么查询
  • 云南省国税发票查询真伪查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设