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


Posted in jQuery onAugust 01, 2017

本文主要给大家介绍的是关于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)

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

测试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)

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

测试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>

测试结果如下:

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

测试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>

测试结果如下:

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

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

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

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

总结

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

jQuery 相关文章推荐
jQuery为某个div加入行样式
Jun 09 jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
简述jQuery Easyui一些用法
Aug 01 jQuery
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
基于jQuery实现的设置文本区域的光标位置
Jun 15 jQuery
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
jQuery事件多次绑定与解绑问题实例分析
Feb 19 jQuery
Jquery动态列功能完整实例
Aug 30 jQuery
jquery实现烟花效果(面向对象)
Mar 10 jQuery
jquery实现简单每周轮换的日历
Sep 10 jQuery
jQuery实现动态向上滚动
Dec 21 jQuery
简述jQuery Easyui一些用法
Aug 01 #jQuery
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 #jQuery
jquery easyui如何实现格式化列
Jul 30 #jQuery
jQuery dateRangePicker插件使用方法详解
Jul 28 #jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 #jQuery
vue单页应用中如何使用jquery的方法示例
Jul 27 #jQuery
jQuery实现键盘回车搜索功能
Jul 25 #jQuery
You might like
几个实用的PHP内置函数使用指南
2014/11/27 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
讲解Python中的标识运算符
2015/05/14 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
python怎么自定义捕获错误
2020/06/29 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
电脑售后服务承诺书
2014/03/27 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
求职自我评价范文100字
2014/09/23 职场文书
质量整改通知单
2015/04/21 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
golang为什么要统一错误处理
2022/04/03 Golang