关于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 zTree树插件动态加载实例代码
May 11 jQuery
jQuery查找dom的几种方法效率详解
May 17 jQuery
关于jQuery库冲突的完美解决办法
May 20 jQuery
jQuery复合事件用法示例
Jun 10 jQuery
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
jQuery Ajax 实现分页 kkpager插件实例代码
Aug 10 jQuery
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
在Vue项目中引入JQuery-ui插件的讲解
Jan 27 jQuery
Jquery动态列功能完整实例
Aug 30 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
Oct 23 jQuery
jQuery实现轮播图效果
Nov 26 jQuery
js与jquery获取input输入框中的值实例讲解
Feb 27 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 中include()与require()的对比
2006/10/09 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
JS中frameset框架弹出层实例代码
2016/04/01 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python 爬虫的工具列表大全
2016/01/31 Python
Django 多对多字段的更新和插入数据实例
2020/03/31 Python
基于python实现对文件进行切分行
2020/04/26 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
企业统计员岗位职责
2013/12/13 职场文书
酒店总经理工作职责
2013/12/13 职场文书
初中班级口号
2014/06/09 职场文书
春节超市活动方案
2014/08/14 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
MYSQL 运算符总结
2021/11/11 MySQL
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js