表单序列化用于传输数据

function serialize(form){    var part=[],        field=null,        i,        len,        option,        optLen,        optValue;    for(i=0,len=form.elements.length;i<len;i++){        field=form.elements[i];        console.log(field.type);        switch (field.type){            case "select-one":            case "select-multiple":                if(field.name.length){                    for(var j= 0,optLen=field.options.length;j<optLen;j++){                        option=field.options[j];                        if(option.selected){                            if(option.hasAttribute){                                optValue=(option.hasAttribute(‘value‘)?option.value:option.text);                            }else{                                optValue=(option.attribute(‘value‘).specified?option.value:option.text);                            }                            part.push(encodeURIComponent(field.name)+‘=‘+encodeURIComponent(optValue));                        }                    }                }            break;            case undefined:            case "file":            case "submit":            case "reset":            case "button":            break;            case "radio":            case "checkbox":                if(!field.checked){                    break;                }            default :                if(field.name.length){                    part.push(encodeURIComponent(field.name)+‘=‘+encodeURIComponent(field.value));                }        }    }    return part.join("&");}

reference :高程14章
时间: 2024-10-08 04:04:09

表单序列化用于传输数据的相关文章

ajax提交表单序列化(serialize())数据

知识点: $("#form").serialize();将表单数据序列化为标准URL编码文本字符串(key1=value1&key2=value2…). 以下用一个例子来演示ajax提交表单序列化数据. 表单内容: <form id="f1"> <label for="realname" >姓名:</label><input type="text" name="rea

JavaScript表单序列化的方法详解

本文介绍下,在javascript中实现表单序列化的方法,通过实例加深理解,有需要的朋友参考下吧. 在JavaScript中,可以利用表单字段的type属性,连同name和value属性一起实现对表单的序列. 首先,我们来了解下在表单提交期间,浏览器是怎样将数据发送给服务器的.对表单字段的名称和值进行URL编码,使用和号(&)分割.不发送禁用的表单字段.只发送勾选的复选框和单选按钮.不发送type为"reset"和"button"的按钮.多选择框中的每个选中

原生js实现form表单序列化

大家都知道在jquery中有相应的表单序列化的方法: 1.serialize()方法 格式:var data = $("form").serialize(); 功能:将表单内容序列化成一个字符串. 这样在ajax提交表单数据时,就不用一一列举出每一个参数.只需将data参数设置为 $("form").serialize() 即可. 2.serializeArray()方法 格式:var jsonData = $("form").serialize

待整理笔记(表单序列化操作、多态函数、对象的状态队列管理模式)

1.jquery的表单序列化操作 $('.form').serializeArray();通过serializeArray()方法得到表单form(class=“form”)的dom结点下所有含有name值的节点的value值的一个数组; 这个数组由多个对象构成,每个对象有name和value两个key值. 2.编程的多态性思想 利用函数的参数数组arguments,通过判断数组的长度来选择性执行某个功能: 例如: store: function(namespace, data, remove)

jquery表单序列化

http://gongwen.sinaapp.com/article-206.html jquery表单序列化,数据格式转成json格式;用的时候直接$('#FormId').serializeJson();便可. 代码如下: //jquery插件把表单序列化成json格式的数据start (function($){ $.fn.serializeJson=function(){ var serializeObj={}; var array=this.serializeArray(); var s

jquery将表单序列化json对象

$.fn.serializeObject = function () { var obj = {}; var count = 0; $.each(this.serializeArray(), function (i, o) { var n = o.name, v = o.value; count++; obj[n] = obj[n] === undefined ? v : $.isArray(obj[n]) ? obj[n].concat(v) : [obj[n], v]; }); //obj.

表单序列化-可以简化表单提交数据

提交表单的时候,可以用表单序列化的方式,就不用找到每个要提交的id逐个提交! <form id="loginInputForm" method="post"> <table> <tr> <th align="right">用户名</th><td><input name="name"/></td> </tr> <tr

$.ajax、$.post、from表单序列化工具

$.ajax\$.post <script type="text/javascript" language="javascript" src="js/jquery-1.8.3.js" ></script> <script type="text/javascript"> //使用Ajax($.ajax)调用 function ajax(){ $.ajax({ type:"post&q

将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对&lt;name&amp;value&gt;格式和JSON格式。

http://zhengxinlong.iteye.com/blog/848712 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式. /// <reference name="jquery.js" description="1.3.2版本以上" /> /*!* 扩展jQuery表单序列化函数:{ Version: 1.2, Author: Eric