关于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滚动插件scrollable.js用法分析
May 25 jQuery
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
Jan 18 jQuery
关于jquery中attr()和prop()方法的区别
May 28 jQuery
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
jQuery+ajax实现批量删除功能完整示例
Jun 06 jQuery
jquery插件开发模式实例详解
Jul 20 jQuery
jquery实现的分页显示功能示例
Aug 23 jQuery
jquery 回调操作实例分析【回调成功与回调失败的情况】
Sep 27 jQuery
jQuery编写QQ简易聊天框
Aug 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 获取目录下的图片并随机显示的代码
2009/12/28 PHP
php _autoload自动加载类与机制分析
2012/02/10 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
js比较日期大小的方法
2015/05/12 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
Python3基础之基本运算符概述
2014/08/13 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Django 框架模型操作入门教程
2019/11/05 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
如何基于Python实现自动扫雷
2020/01/06 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Python 中由 yield 实现异步操作
2020/05/04 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
Clarks鞋法国官方网站:英国其乐鞋品牌
2018/02/11 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
人民调解员培训方案
2014/06/05 职场文书
退货证明模板
2015/06/23 职场文书