form表单数据 转json 对象最佳示例

2024-09-06 02:48

本文主要是介绍form表单数据 转json 对象最佳示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 先看效果图

就是图一到图二的过程



  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <script type="application/javascript" src="js/jquery-2.0.3.js"></script>  
  6. <title>无标题文档</title>  
  7. <script type="application/javascript">  
  8.   
  9. $.fn.serializeObject = function()    
  10. {    
  11.    var o = {};    
  12.    var a = this.serializeArray();    
  13.    $.each(a, function() {    
  14.        if (o[this.name]) {    
  15.            if (!o[this.name].push) {    
  16.                o[this.name] = [o[this.name]];    
  17.            }    
  18.            o[this.name].push(this.value || '');    
  19.        } else {    
  20.            o[this.name] = this.value || '';    
  21.        }    
  22.    });    
  23.    return o;    
  24. };  
  25.   
  26. function onClik(){  
  27.         //var data = $("#form1").serializeArray(); //自动将form表单封装成json  
  28.         //alert(JSON.stringify(data));  
  29.         var jsonuserinfo = $('#form1').serializeObject();  
  30.         alert(JSON.stringify(jsonuserinfo));  
  31. }  
  32. </script>  
  33. </head>  
  34.   
  35. <body>  
  36. <form id="form1" name="form1" method="post" action="">  
  37.   <p>进货人 :  
  38.     <label for="name"></label>  
  39.     <input type="text" name="name" id="name" />  
  40.   </p>  
  41.   <p>性别:  
  42.     <label for="sex"></label>  
  43.     <select name="sex" size="1" id="sex">  
  44.       <option value="1"></option>  
  45.       <option value="2"></option>  
  46.     </select>  
  47.   </p>  
  48.   <table width="708" border="1">  
  49.     <tr>  
  50.       <td width="185">商品名</td>  
  51.       <td width="205">商品数量</td>  
  52.       <td width="296">商品价格</td>  
  53.     </tr>  
  54.     <tr>  
  55.       <td><label for="pro_name"></label>  
  56.         <input type="text" name="pro_name" id="pro_name" /></td>  
  57.       <td><label for="pro_num"></label>  
  58.         <input type="text" name="pro_num" id="pro_num" /></td>  
  59.       <td><label for="pro_price"></label>  
  60.         <input type="text" name="pro_price" id="pro_price" /></td>  
  61.     </tr>  
  62.     <tr>  
  63.       <td><input type="text" name="pro_name2" id="pro_name2" /></td>  
  64.       <td><input type="text" name="pro_num2" id="pro_num2" /></td>  
  65.       <td><input type="text" name="pro_price2" id="pro_price2" /></td>  
  66.     </tr>  
  67.   </table>  
  68.   <p> </p>  
  69.   <input type="button" name="submit" onclick="onClik();" value="提交"/>  
  70. </form>  
  71. </body>  
  72. </html>  
[html] view plain copy
  1. <span style="font-size:32px;"><strong>代码效果演示:</strong></span>  









================================================================================================================================

jQuery是在web应用中使用的脚本语言之一,因其具有轻量级,易学易用等特点,已广泛应用,其中的ajax封装简化了我们的应用,对其表单数据序列化用如下方法:

1.serialize()方法

  格式:var data = $("#formID").serialize();

  功能:将表单内容序列化成一个字符串。

  这样在ajax提交表单数据时,就不用一一列举出每一个参数。只需将data参数设置为 $("form").serialize()即可。

2.serializeArray()方法

  格式:var jsonData = $("#formID").serializeArray();

  功能:将页面表单序列化成一个JSON结构的对象。注意不是JSON字符串。

  比如,[{"name":"lihui"},{...}] 获取数据为 jsonData[0].name

3.$.param()方法,可以把json格式数据序列化成字符串形式

      varobj={a:1,b:2}

      vars=$.param(obj);

  会形成a=1&b=2的形式


[javascript]  view plain copy
  1. $.fn.serializeObject = function()  
  2. {  
  3.    var o = {};  
  4.    var a = this.serializeArray();  
  5.    $.each(a, function() {  
  6.        if (o[this.name]) {  
  7.            if (!o[this.name].push) {  
  8.                o[this.name] = [o[this.name]];  
  9.            }  
  10.            o[this.name].push(this.value || '');  
  11.        } else {  
  12.            o[this.name] = this.value || '';  
  13.        }  
  14.    });  
  15.    return o;  
  16. };  

这篇关于form表单数据 转json 对象最佳示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140784

相关文章

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

Redis延迟队列的实现示例

《Redis延迟队列的实现示例》Redis延迟队列是一种使用Redis实现的消息队列,本文主要介绍了Redis延迟队列的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录一、什么是 Redis 延迟队列二、实现原理三、Java 代码示例四、注意事项五、使用 Redi

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Python实现数据清洗的18种方法

《Python实现数据清洗的18种方法》本文主要介绍了Python实现数据清洗的18种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1. 去除字符串两边空格2. 转换数据类型3. 大小写转换4. 移除列表中的重复元素5. 快速统

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

Python使用Colorama库美化终端输出的操作示例

《Python使用Colorama库美化终端输出的操作示例》在开发命令行工具或调试程序时,我们可能会希望通过颜色来区分重要信息,比如警告、错误、提示等,而Colorama是一个简单易用的Python库... 目录python Colorama 库详解:终端输出美化的神器1. Colorama 是什么?2.