范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

FormData对象,知道吗?它可以让你在表单数据处理上事半功倍?

  我是小渔歌,点击右上方"关注",每天为你分享【前端技术知识】干货。
  FormData是浏览器window对象下面的一个构造函数。
  功能:实现表单元素的序列化,减少表单数据的拼接。
  先贴上dom结构,下面再一一讲解。
  dom结构
  图例
  表单图示通过表单对formData进行初始化let formData = new FormData(document.querySelector("#formBox"));
  控制台输出结果
  可以看到这个formData下面有很多操作方法。通过get(key)与getAll(key)来获取相对应的值let username = formData.get("username") let job = formData.get("job") let desc = formData.get("desc")
  控制台打印
  let username = formData.getAll("username") let job = formData.getAll("job") let desc = formData.getAll("desc")
  控制台打印
  由此可见,getAll返回的是一个数组,get返回的是一个字符串。
  注意:getAll获取的是具有相同name(key)属性表单元素的值,所以返回的是一个数组。2、通过append(key,value)在数据末尾追加数据formData.append("interest", "篮球") let interest = formData.get("interest")
  控制台输出
  formData.append("interest", "篮球") formData.append("interest", "写作") let interest = formData.get("interest") let interestAll = formData.getAll("interest")
  控制台输出
  这里向键interest添加了两个不同值,如果用get只能获取第一个值,getAll则能获取说有的值。
  到这里应该很清楚get与getAll的区别了吧。3、通过set(key, value)来设置修改数据formData.set("interest", "技术学习") interest = formData.get("interest") interestAll = formData.getAll("interest")
  这里我们改变2中的interest,看下控制台输出结果。
  可以看到他改变了interest的值,并且之前我们给interest添加的是两个值,现在少了一个,由此可见,这个set方法会重置多个值变成一个值。4、通过has(key)来判断是否存在对应的key值let isUsername = formData.has("username") let iswork = formData.has("work")
  控制台输出
  username存在所以输出了true,work不存在所以是false。通过delete(key)可以删除数据isUsername = formData.has("username") username = formData.get("username")
  控制台输出
  使用delete方法删除username后,再用has方法检测到,这个username已经不存在了,并且用get方法也获取不到了。forEach (value,key)=> 遍历FormData 对象的键值formData.forEach((value, key) => {             console.log(value, key) })
  控制台输出
  values => 返回一个包含所有值的iterator对象。 for (let value of formData.values()) {             console.log(value); // 返回所有 value }
  控制台输出
  keys => 返回一个包含所有键的iterator对象for (let key of formData.keys()) {             console.log(key); }
  控制台输出
  entries => 返回一个包含所有键值对的iterator对象for (let obj of formData.entries()) {             console.log(obj); }
  控制台输出
  如上图这个每一个都返回一个数组,第一个索引是键,第二个索引是值。
  还有一个点需要注意的地方,就是如果一个key有多个值,他不会在数组第三个索引出现,数组的长度永远是2。
  如下图所示,如果3 没有重置interest的值,他还是两个,则控制台输出
  异步数据提交,使用formData是不是非常nice,[中国赞]。
  思考:formData也可以定义一个空的对象,实现自定义表单提交。
  往期精彩内容
  CSS实现拖拽功能,你是认真的吗?
  能用CSS实现的效果,就尽量把Javascript踢开吧?
  在JavaScript中call与apply的实际应用你知道多少?
  小渔歌,90后前端研发工程师,热爱生活,一个在劳动中不断学习的人,愿我们共同进步,点关注不迷路[中国赞][作揖]。

杨绛健康不是第一,而是唯一文幸福娃很喜欢杨绛传里的这段话有一天,你辉煌了,一定要有个好身体,才能享受人生。有一天,你落魄了,还得有个好身体,才能东山再起。记住,健康不是第一,而是唯一!这也贵,那也贵,照照镜几种微服务框架调研报告微服务架构旨在将大型,复杂的系统垂直(按功能或业务要求)划分为较小的子系统,这些子系统属于流程(因此可独立部署),并且这些子系统之间通过与语言无关的轻量级网络通信相互通信(例如REAI算法上阵!协和医院携手中科院,机器看病又快又准北京日报客户端记者孙乐琪通讯员陈恔北京协和医院携手中国科学院软件研究所等单位共同研发的多模态神经系统疾病智能辅助诊断系统近日获批国家医疗器械注册证。该系统利用超高分辨率深度视觉传感飘洋过海来相亲,知名德企为什么对长沙青睐有加?导读德国是工业4。0的发起者。一个在制造业和工业领域领跑全球的国家,其头部企业更是走在前列。西门子福伊特思爱普科尼威乐2月15日17日,长沙迎来了40家德国行业领军企业组团访问,长5G赋能,中国石化设备域一体化应用一期项目落地茂名近日,中国石油化工股份有限公司茂名分公司(以下简称茂名石化),通过茂名移动5G赋能,实现中国石化设备域一体化应用(一期)项目落地。该项目由国资委牵头,采用央企工业互联网平台协同推进梅赛德斯奔驰2022年净利润148。1亿欧元同比增长34出品搜狐汽车2月17日,梅赛德斯奔驰集团发布2022财年第四季度及全年财报。第四季度营收410。0亿欧元,同比增长16第四季度息税前利润(EBIT)54。1亿欧元,同比增长31。22023年新能源车成为缅甸的大热点!商机与争议并存进入2023年,要问什么在缅甸的讨论度最高?新能源车肯定名列前茅。缅甸国管委用一系列行动证明,将在缅甸开拓新能源汽车市场。放眼国际,新能源汽车和智能网联汽车是引领未来的产业。新能源温氏股份股权激励计划2023年净利不低于75亿元或畜禽产品总销售重量同比增20温氏股份2月17日披露第四期股权激励计划,拟向激励对象授予的限制性股票数量为18510。9万股,其中首次授予部分限制性股票的授予价格为10。15元股。首次授予的激励对象共4076人乌鲁木齐外贸企业奏响春之声从春天出发,向全球进发。踏着春天的脚步,乌鲁木齐市外贸企业早谋快干全力冲刺,促进外贸稳规模优结构,培育国际经贸合作新增长点,合力拼出一个经济早春,以开局出彩带动全年精彩,助推核心区大妈在银行取八万现金,点钱时少了2000,银行只赔1000爱要不要银行在中国已经有百年历史了,而作为一个金融机构银行对我们起着至关重要的作用。民众们对银行的信任更是不言而喻了。不管钱多钱少存在银行里总是安全的。而银行作为一个非常严谨,安全系数极高美国食品价格大涨美媒支招要省钱就别吃早饭了参考消息网2月16日报道美国华尔街日报网站14日发表一篇报道,题为为了省钱,也许你应该不吃早餐。文中指出,由于恶劣天气和疾病暴发导致的严峻局面以及俄乌冲突的持续影响,美国多种早餐主
带桶的净水器好吗?市场中净水器有带压力桶的,也有不带压力桶的,那么带压力桶的净水器好不好。净水器的类型多样,就是反渗透净水器也有分带压力桶和不带压力桶的。不了解这些常识,完全是蒙圈的状态,都不知道怎红米新机官方预热调校骁龙8,这个月见骁龙8和天玑9000芯片,同样作为下半年的主力芯片,但两颗芯片的距离还是十分远的。从7月份就可以观察到,骁龙8芯片的搭载率极高,而天玑9000芯片的搭载率极低。不过,在中端和低端芯二手显卡暴跌,仍是无人购买如今显卡暴跌已成事实,归结原因主要还是矿潮的退去。显卡市场在前两年开始,随着比特币的攀升即开始涨价,近两年来显卡的市场也被挖矿带动下十分火热,挖矿潮在全球的扩散,使得各种显卡被炒暴暗黑破坏神不朽第三季现已开启,让我们化身义天使阻挡恶魔欢迎回来,冒险者现在,准备好使用第三季战斗通行证化身義天使,在怒源入侵每日事件中挡下饥饿恶魔的猛烈攻势,并一览即将首次推出的战队系统改善更新吧!在黑暗如瘟疫蔓延的圣休亚瑞之上,就连estar31狼队完成常规赛3连杀,清融王昭君C麻了,花海打得挺难受2022年KPL夏季赛常规赛第3轮第2周的比赛已经圆满结束了!而这一周的收官之战,算是万众瞩目的一战,毕竟是estarpro跟狼队的交手。而最终的比赛结果是estarpro以3比1WB让二追三战胜KSG,胜者组希望大增,一周三赛挺过来了KPL夏季赛常规赛正在进行,到了第八周已经是白热化阶段了,最后一个比赛日赛场都是S组的比赛,可谓精彩纷呈。首场比赛是苏州KSG对阵北京WB,本赛季这两支队伍的表现都不错,北京WB在一个坏消息来了,下周一,A股行情预判炒股,永远都在风险之中,这个位置市场充满不确定性,外围不稳定,疫情反复,业绩披露窗口,很难出现持续大涨。行情充满变数,K线也充满不确定性,保留一颗敬畏之心。对于后市,下半年的行情依2个消息落地,下周,A股行情或迎来大动作?炒股,消息影响短期走势,特别是行情没有方向的时候,消息可以催化行情。半导体,很多人不明白为什么就上涨了?消息是一方面原因,另一方面原因是调整位置。消息,要看它出现在什么位置,同样的俞敏洪允许东方甄选亏损五年茅台大幅削减经销商商业参考NEWS今日要闻俞敏洪允许东方甄选亏损五年李嘉诚撇清与妖股尚乘数科关系福布斯杂志寻求6。3亿美元出售恒大退还广州恒大球场土地使用权理想称起火并非车质量问题引起茅台大幅削减经销商BO预赛9秒78,放世锦赛直接夺冠!亚洲3人破10,苏炳添都得受惊吓一项亚洲人为主的田径比赛,能有多好的成绩?答案让人震惊。正在土耳其科尼亚进行的第五届YSL团结运动会,百米预赛中,4人跑进10秒,1人跑出9秒78,放世锦赛直接是冠军,另外进10秒爆大冷!日本击败美国牙买加获4X100米冠军创奇迹,苏炳添没做到在最近一段时间结束的2022世界青年田径锦标赛上,日本男子100米接力队表现突出,击败美国和牙买加两大强敌夺得冠军,能够同时击败两大天坛霸主,我们的中国飞人苏炳添也没做到。日本队跑