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

  • iphone录屏在哪(iPhone录屏在哪添加)

    iphone录屏在哪(iPhone录屏在哪添加)

  • 手机调字体大小在哪里(vivo手机调字体大小)

    手机调字体大小在哪里(vivo手机调字体大小)

  • iphone冷暖屏是随机的吗(iphone 冷暖屏)

    iphone冷暖屏是随机的吗(iphone 冷暖屏)

  • 虎牙怎么卡粉丝牌(虎牙怎么卡粉丝灯牌)

    虎牙怎么卡粉丝牌(虎牙怎么卡粉丝灯牌)

  • iphone11微信卡顿不流畅(苹果11微信老卡怎么回事)

    iphone11微信卡顿不流畅(苹果11微信老卡怎么回事)

  • 照片pdf是什么格式(照片pdf是什么格式的文件)

    照片pdf是什么格式(照片pdf是什么格式的文件)

  • iphone11pro max屏幕发黄(iphone11pro max屏幕尺寸)

    iphone11pro max屏幕发黄(iphone11pro max屏幕尺寸)

  • qq验证粉是什么(qq验证粉引流技术有人叫吗)

    qq验证粉是什么(qq验证粉引流技术有人叫吗)

  • 苹果电脑系统和windows系统区别(苹果电脑系统和window的区别)

    苹果电脑系统和windows系统区别(苹果电脑系统和window的区别)

  • 安卓手机绿洲怎么保存图片(绿洲安卓怎么复制链接)

    安卓手机绿洲怎么保存图片(绿洲安卓怎么复制链接)

  • 华为怎么删除桌面图标(华为怎么删除桌面上多余的页面)

    华为怎么删除桌面图标(华为怎么删除桌面上多余的页面)

  • vivo日历活动怎么删除(vivo怎样关闭日历活动提醒)

    vivo日历活动怎么删除(vivo怎样关闭日历活动提醒)

  • 拼多多怎么赠送免拼卡给买家(拼多多怎么赠送免单卡)

    拼多多怎么赠送免拼卡给买家(拼多多怎么赠送免单卡)

  • 乐视手机密码忘记了怎么解锁(乐视手机密码忘了怎么刷机)

    乐视手机密码忘记了怎么解锁(乐视手机密码忘了怎么刷机)

  • cad标注样式设置参数(cad标注样式设置规范标准)

    cad标注样式设置参数(cad标注样式设置规范标准)

  • 怎么下载icloud上的照片到手机(怎么下载icloud上的备忘录)

    怎么下载icloud上的照片到手机(怎么下载icloud上的备忘录)

  • 退出qq群其他人能看到提示吗(退出qq群其他人怎么显示)

    退出qq群其他人能看到提示吗(退出qq群其他人怎么显示)

  • cpu坏和主板坏怎么判断(cpu坏和主板坏怎么判断-ZOL问答)

    cpu坏和主板坏怎么判断(cpu坏和主板坏怎么判断-ZOL问答)

  • u盘为什么会变raw(u盘变成乱码,修复后空了)

    u盘为什么会变raw(u盘变成乱码,修复后空了)

  • ios12能退回去吗(苹果12退回)

    ios12能退回去吗(苹果12退回)

  • 苹果x手机怎么变流畅(苹果x手机怎么强制关机重启)

    苹果x手机怎么变流畅(苹果x手机怎么强制关机重启)

  • qq群恢复系统在哪里(qq群恢复系统界面登陆)

    qq群恢复系统在哪里(qq群恢复系统界面登陆)

  • 手机yy语音频道在哪里(手机yy语音频道怎么开黑)

    手机yy语音频道在哪里(手机yy语音频道怎么开黑)

  • qq附近的群在哪里(2021qq附近的群在哪里)

    qq附近的群在哪里(2021qq附近的群在哪里)

  • 马尼亚河的卫星图像,马达加斯加 (© NASA Earth Observatory image by Joshua Stevens, using Landsat data from the US Geological Survey)(马尼亚岛的降水特点)

    马尼亚河的卫星图像,马达加斯加 (© NASA Earth Observatory image by Joshua Stevens, using Landsat data from the US Geological Survey)(马尼亚岛的降水特点)

  • ps中使用背景橡皮擦实现边缘过度柔和(ps使用背景橡皮擦的时候需要按住什么键)

    ps中使用背景橡皮擦实现边缘过度柔和(ps使用背景橡皮擦的时候需要按住什么键)

  • 印花税计入税金及附加还是应交税费
  • 车船税征收标准表
  • 预提费用
  • 手机上可以开个人劳务发票吗
  • 小规模纳税人应交增值税明细科目
  • 资产负债表的固定资产怎么计算
  • 一般纳税人销售自己使用过的汽车
  • 小微企业增值税起征点是多少
  • 企业人员信息已存在无需新增
  • 异地项目预缴个人所得税
  • 疫苗接种防疫站
  • 防伪税控开票系统技术维护费
  • 企业的定期存款
  • 收到投资担保公司的担保费发票的账务处理
  • 结转已完工产品会计分录
  • 本期增加发生额是指
  • 收藏!广告制作税收分类编码总结
  • 7月财务报表行次三大变化
  • 折价购买债券是什么意思
  • 以前年度少计提收入
  • 减免税款未抵扣增值税
  • 实收资本和注册资本必须一致吗
  • 物业公司的水电工工作职责
  • 出口转内销发票抵扣
  • win7安装驱动程序
  • PHP:xml_set_start_namespace_decl_handler()的用法_XML解析器函数
  • php中substr_replace
  • php file_get_contents 读取图片
  • 结转损益和结转成本
  • 处置控制的子公司有哪些
  • 隐藏资源管理器窗口
  • 费用发票开的是跨年的账务处理
  • php ftell
  • 资产负债表怎么算资产负债率
  • 房地产企业前期物业费可否税前扣除
  • 没有利润,能否开发票
  • 史上最强i3
  • php如何定义二维数组
  • ps怎么选中图形放大
  • python2 tkinter
  • 固定资产处置营业外支出
  • 固定资产一次性扣除如何做账
  • 企业所得税没有交
  • 季节性停工计入当期损益吗
  • 前置测试模型
  • ajax json请求
  • 交易性金融资产公允价值变动计入
  • 折旧费和折旧额的区别
  • 根据工资总额组成的规定下列哪些列入工资总额的范围
  • 小规模纳税人免税怎么做账
  • 财务报表里的现金流量表括号是什么意思
  • 怎样计算主营业务收入
  • 原材料的主要账务处理
  • 接收商业承兑汇票有风险吗
  • 固定资产计提折旧表
  • 公司账户转法人个人账户需要交税吗
  • 股权质押和股权抵押有什么区别
  • 一般纳税人进项票是普票可以抵扣吗
  • 商业承兑汇票结算会计分录
  • MySQL ALTER命令使用详解
  • mysql日期和时间函数
  • SQL Server 2005/2008 用户数据库文件默认路径和默认备份路径修改方法
  • mysql 5.7.21安装教程
  • win8 photoshop
  • centos 安装方法
  • winpe.wim怎么安装
  • win10预览在哪里
  • Win10系统无法访问局域网共享电脑怎么办
  • vmware15.5安装mac
  • 查看win8.1版本
  • win10搜索功能不好用
  • win10安装office2016无法注册字体可以忽略吗?
  • win7如何整理磁盘
  • win1010586升级到最新
  • linux那些事儿
  • Android从零单排02_Eclipse搭建Android环境01
  • python-shell
  • 国税总局北京市税务局
  • 合作社的税率是多少
  • 国外寄回来的奶粉被海关查到剪开,快递公司怎么处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设