关于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 EasyUI之验证框validatebox实例详解
Apr 10 jQuery
详谈jQuery.load()和Jsp的include的区别
Apr 12 jQuery
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
jQuery.ajax向后台传递数组问题的解决方法
May 12 jQuery
jquery DataTable实现前后台动态分页
Jun 17 jQuery
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
jquery+css实现下拉列表功能
Sep 03 jQuery
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
基于jQuery实现可编辑的表格
Dec 11 jQuery
jQuery实现聊天对话框
Feb 08 jQuery
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
Mar 20 jQuery
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 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自定文件保存session的方法
2014/12/10 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
javascript parseInt 函数分析(转)
2009/03/21 Javascript
jquery选择器之层级过滤选择器详解
2014/01/27 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
js实现碰撞检测
2021/01/29 Javascript
Python argv用法详解
2016/01/08 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
python微信公众号开发简单流程实现
2020/03/09 Python
浅谈Python协程
2020/06/17 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
大专毕业自我鉴定
2014/02/04 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
政风行风评议整改方案
2014/09/15 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
初中团支书竞选稿
2015/11/21 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python
python 离散点图画法的实现
2022/04/01 Python
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers