关于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插件Echarts实现的渐变色柱状图
Mar 23 jQuery
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
Aug 09 jQuery
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
jQuery基于闭包实现的显示与隐藏div功能示例
Jun 09 jQuery
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
jquery获取file表单选择文件的路径、名字、大小、类型
Jan 18 jQuery
详解jQuery设置内容和属性
Apr 11 jQuery
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
jQuery-App输入框实现实时搜索
Nov 19 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
据说是雅虎的一份PHP面试题附答案
2009/01/07 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
JavaScript 封装一个tab效果源码分享
2015/09/15 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
2015/11/09 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
Python实现把类当做字典来访问
2019/12/16 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
英国现代市场:ARKET
2019/04/10 全球购物
蔬菜基地的创业计划书
2014/01/06 职场文书
四下基层实施方案
2014/03/28 职场文书
委托书模板
2014/04/04 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python