关于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+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
jQuery Pagination分页插件_动力节点Java学院整理
Jul 17 jQuery
jQuery UI Draggable + Sortable 结合使用(实例讲解)
Sep 07 jQuery
jQuery选择器之子元素过滤选择器
Sep 28 jQuery
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
jquery在启动页面时,自动加载数据的实例
Jan 22 jQuery
jQuery实现菜单的显示和隐藏功能示例
Jul 24 jQuery
Easyui 去除jquery-easui tab页div自带滚动条的方法
May 10 jQuery
Jquery动态列功能完整实例
Aug 30 jQuery
jQuery实现带进度条的轮播图
Sep 13 jQuery
原生jQuery实现只显示年份下拉框
Dec 24 jQuery
使用jquery实现轮播图效果
Jan 02 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绘图技术
2013/07/03 PHP
php轻松实现文件上传功能
2016/03/03 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
PHP最常用的正则表达式
2017/02/13 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
2013/11/22 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
JavaScript实现简单评论功能
2017/08/17 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
python创建线程示例
2014/05/06 Python
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
Python实现压缩和解压缩ZIP文件的方法分析
2017/09/28 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
python识别验证码的思路及解决方案
2020/09/13 Python
python实现文件+参数发送request的实例代码
2021/01/05 Python
Python扫描端口的实现
2021/01/25 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
英格兰足协官方商店:England Store
2019/07/12 全球购物
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
高校生生产实习自我鉴定
2013/09/21 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python
Element实现动态表格的示例代码
2021/08/02 Javascript