关于jquery form表单序列化的注意事项详解

发布时间 - 2026-01-11 02:35:22    点击率:

本文主要给大家介绍的是关于jquery form表单序列化的一些注意事项,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍:

我们先来讲讲表单中 中readonly和disabled的区别:

readonly只对input和textarea有效, 但是disabled对于所以的表单元素都是有效的,包括radio,checkbox等
如果表单中使用的disabled那么用户是不能选择的,也就是说这个文本框是无法获取到焦点的,而readonly是可以获取到焦点,只是不能修改,为只读

最重要的一点, 在发送表单的时候,表单的控件属性没有name属性该字段不会发送,也不会形成键值对;表单控件属性是disabeld,则该字段不会发送,也不会形成键值对

测试1,没有设置name属性:

<body>
 <form id="form1">
   <select>
    <option value="0">葫芦娃测试0</option>
    <option value="1">葫芦娃测试1</option>
    <option value="2">葫芦娃测试2</option>
   </select>
   <input type="button" id="btnSubmit" value="提交" name="btnSubmit" />
 </form>
 <script type="text/javascript">
  $(document).ready(function () {
   $("#btnSubmit").click(function () {
    console.log("serialize:");
    console.log($("#form1").serialize());
    console.log("serializeArray:");
    console.log($("#form1").serializeArray());
   });
  });
 </script>
</body>

输出结果如下:

serialize:

 serializeArray:
[]length: 
__proto__: Array(0)

测试2,设置name属性:

<body>
 <form id="form1">
   <select name="selectHuLuWa">
    <option value="0">葫芦娃测试0</option>
    <option value="1">葫芦娃测试1</option>
    <option value="2">葫芦娃测试2</option>
   </select>
   <input type="button" id="btnSubmit" value="提交" name="btnSubmit" />
 </form>
 <script type="text/javascript">
  $(document).ready(function () {
   $("#btnSubmit").click(function () {
    console.log("serialize:");
    console.log($("#form1").serialize());
    console.log("serializeArray:");
    console.log($("#form1").serializeArray());
   });
  });
 </script>
</body>

输出结果如下:

serialize:
 selectHuLuWa=0
 serializeArray:
 [{…}]
{name: "selectHuLuWa", value: "0"}
length:1
__proto__:Array(0)

测试3,设置readoly属性:

<body>
 <form id="form1">
   <select name="selectHuLuWa" readonly="readonly">
    <option value="0">葫芦娃测试0</option>
    <option value="1">葫芦娃测试1</option>
    <option value="2">葫芦娃测试2</option>
   </select>
   <input type="button" id="btnSubmit" value="提交" name="btnSubmit" />
 </form>
 <script type="text/javascript">
  $(document).ready(function () {
   $("#btnSubmit").click(function () {
    console.log("serialize:");
    console.log($("#form1").serialize());
    console.log("serializeArray:");
    console.log($("#form1").serializeArray());
   });
  });
 </script>
</body>

测试结果如下:

测试4,设置disabled属性

<body>
 <form id="form1">
   <select name="selectHuLuWa" disabled="disabled">
    <option value="0">葫芦娃测试0</option>
    <option value="1">葫芦娃测试1</option>
    <option value="2">葫芦娃测试2</option>
   </select>
   <input type="button" id="btnSubmit" value="提交" name="btnSubmit" />
 </form>
 <script type="text/javascript">
  $(document).ready(function () {
   $("#btnSubmit").click(function () {
    console.log("serialize:");
    console.log($("#form1").serialize());
    console.log("serializeArray:");
    console.log($("#form1").serializeArray());
   });
  });
 </script>
</body>

测试结果如下:

由此可证表单控件没有name属性,设置disabled属性是无法进行序列化的。

**如果需要把disabled的进行序列化的方法为:

在序列化之前移除disabled属性,序列化完成后,再添加上即可。**

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持


# jquery  # 序列化form  # form  # jquery提交form表单  # jQuery实现获取form表单内容及绑定数据到form表单操作分析  # jQuery实现form表单序列化转换为json对象功能示例  # JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)  # jquery.form.js异步提交表单详解  # jquery表单插件form使用方法详解  # jQuery表单插件ajaxForm实例详解  # jQuery Form表单取值的方法  # jquery获取form表单input元素值的简单实例  # Jquery让form表单异步提交代码实现  # 表单  # 序列化  # 键值  # 的是  # 都是  # 最重要  # 给大家  # 这篇文章  # 谢谢大家  # 多说  # 只对  # 先来  # 移除  # 文本框  # 再添  # 则该  # 也就是说  # 完成后  # 有疑问  # checkbox 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  西安专业网站制作公司有哪些,陕西省建行官方网站?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  nodejs redis 发布订阅机制封装实现方法及实例代码  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Android自定义listview布局实现上拉加载下拉刷新功能  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  IOS倒计时设置UIButton标题title的抖动问题  高防服务器租用如何选择配置与防御等级?  Linux系统运维自动化项目教程_Ansible批量管理实战  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  如何快速生成高效建站系统源代码?  python中快速进行多个字符替换的方法小结  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  大型企业网站制作流程,做网站需要注册公司吗?  如何在云服务器上快速搭建个人网站?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  使用spring连接及操作mongodb3.0实例  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  三星网站视频制作教程下载,三星w23网页如何全屏?  php结合redis实现高并发下的抢购、秒杀功能的实例  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel怎么调用外部API_Laravel Http Client客户端使用  *服务器网站为何频现安全漏洞?  高端网站建设与定制开发一站式解决方案 中企动力  ,交易猫的商品怎么发布到网站上去?  javascript中闭包概念与用法深入理解  如何快速搭建高效可靠的建站解决方案?  如何在云主机快速搭建网站站点?  Laravel如何创建自定义中间件?(Middleware代码示例)  如何快速启动建站代理加盟业务?  Android使用GridView实现日历的简单功能  中国移动官方网站首页入口 中国移动官网网页登录  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  简单实现Android文件上传  Windows Hello人脸识别突然无法使用  Python函数文档自动校验_规范解析【教程】  香港服务器部署网站为何提示未备案?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  公司网站制作价格怎么算,公司办个官网需要多少钱?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  使用豆包 AI 辅助进行简单网页 HTML 结构设计