/** * @author Kyle Florence * @website https://github.com/kflorence/jquery-deserialize/ * @version 1.2.1 * * Dual licensed under the MIT and GPLv2 licenses. */ (function(jQuery,undefined){var push=Array.prototype.push,rcheck=/^(?:radio|checkbox)$/i,rplus=/\+/g,rselect=/^(?:option|select-multiple)$/i,rvalue=/^(?:button|select-one|color|date|datetime|datetime-local|email|hidden|month|number|password|range|reset|search|submit|tel|text|textarea|time|url|week)$/i;function getElements(elements){return elements.map(function(){return this.elements?jQuery.makeArray(this.elements):this;}).filter(":input:not(:disabled)").get();}function getElementsByName(elements){var current,elementsByName={};jQuery.each(elements,function(i,element){current=elementsByName[element.name];elementsByName[element.name]=current===undefined?element:(jQuery.isArray(current)?current.concat(element):[current,element]);});return elementsByName;}jQuery.fn.deserialize=function(data,options){var i,length,elements=getElements(this),normalized=[];if(!data||!elements.length){return this;}if(jQuery.isArray(data)){normalized=data;}else if(typeof data==="string"){var parts;data=data.split("&");for(i=0,length=data.length;i