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

相关文章

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1