关于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中fade(),show()起始位置的一点小发现
Apr 25 jQuery
jQuery树插件zTree使用方法详解
May 02 jQuery
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 jQuery
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
jQuery length 和 size()区别总结
Apr 26 jQuery
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
Jquery属性的获取/设置及样式添加/删除操作技巧分析
Dec 23 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
基于JQuery实现页面定时弹出广告
May 08 jQuery
jQuery三组基本动画与自定义动画操作实例总结
May 09 jQuery
JQuery使用数组遍历跳出each循环
Sep 01 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生成EAN_13标准条形码实例
2013/11/13 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
javascript中的this详解
2014/12/08 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
2015/04/06 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
基于vue hash模式微信分享#号的解决
2020/09/07 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
Python通过poll实现异步IO的方法
2015/06/04 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
python3中int(整型)的使用教程
2017/03/23 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
在python image 中实现安装中文字体
2020/05/16 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
C# .NET面试题
2015/11/28 面试题
教师节演讲稿
2014/05/06 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
售房协议书范本2014
2014/10/23 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书
优秀教师申报材料
2014/12/16 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL