当前位置: 首页 > news >正文

【ajax基础04】form-serialize插件

目录

一:form-serialize插件

作用:

语法格式:

一:form-serialize插件

作用:

快速且大量的收集表单元素的值

例如上图对于多表单元素的情形,单靠通过”选择器获取节点.value”值的形式,获取表单元素的值。在操作上、代码量上,非常的不简洁、且麻烦。form-serialize插件就很好的解决了这个问题

语法格式:

const form = document.querySelector('...要获取的表单元素')
serialize(form,{hash:true,empty:true})
//hash 设置获取数据结构
// true:获取的数据为JS对象,一般请求体里提交给服务器
//false:获取的数据为查询字符串//empty 设置是否获取空值
//true:获取空值,可以保证数据结构和标签结构一致
//false:不获取空值
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>13.form-serialize插件使用</title>
</head><body><form action="javascript:;" class="example-form"><input type="text" name="uname"><br><input type="text" name="pwd"><br><input type="button" class="btn" value="提交"></form><!-- 目标:在点击提交时,使用form-serialize插件,快速收集表单元素值--><!-- 1 将插件引入网页 --><script src="./form-serialize.js"></script><script>document.querySelector('.btn').addEventListener('click', () => {// 2 使用serialize函数,快速收集表单元素的值const form = document.querySelector('.example-form')const data = serialize(form, { hash: true, empty: true })console.log(data);})</script>
</body></html>

注意:

  1. html表单元素中设置name属性的属性值,会作为serialize函数收集数据后,返回对象中的属性名
  2. html表单元素中name的属性值,要与后端接口文档参数名要求的一致

相关文章:

  • 主流的Agent框架
  • Android应用--简、美音乐播放器添加电话监听
  • [C++] vector list 等容器的迭代器失效问题
  • 第5天:视图与模板进阶
  • Pip换源详解
  • Kimichat使用案例027:有效使用 kimichat 的15个高级技巧
  • Vue3 条件语句
  • HTML静态网页成品作业(HTML+CSS)——家乡泉州介绍网页(3个页面)(表格布局)
  • 【计算机毕业设计】194高校学习助手微信小程序
  • 神经网络学习6-线性层
  • 【idea-jdk1.8】使用Spring Initializr 创建 Spring Boot项目没有JDK8
  • 加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新
  • 【CSS】box-shadow盒阴影
  • WPS相同字体但是部分文字样式不一样解决办法
  • vue使用workbox-webpack-plugin完成打包部署提醒用户版本更新刷新获取,再也不用担心缓存问题导致用户体验不好了
  • 《剑指offer》分解让复杂问题更简单
  • avalon2.2的VM生成过程
  • co模块的前端实现
  • es6--symbol
  • gf框架之分页模块(五) - 自定义分页
  • httpie使用详解
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Java应用性能调优
  • js递归,无限分级树形折叠菜单
  • LeetCode算法系列_0891_子序列宽度之和
  • Making An Indicator With Pure CSS
  • MySQL-事务管理(基础)
  • Quartz初级教程
  • 从零搭建Koa2 Server
  • 基于Android乐音识别(2)
  • 如何解决微信端直接跳WAP端
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 线上 python http server profile 实践
  • 小程序01:wepy框架整合iview webapp UI
  • 一道闭包题引发的思考
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 【干货分享】dos命令大全
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​ssh免密码登录设置及问题总结
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • $.ajax中的eval及dataType
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (论文阅读30/100)Convolutional Pose Machines
  • (已解决)什么是vue导航守卫
  • (转载)Linux网络编程入门
  • . ./ bash dash source 这五种执行shell脚本方式 区别