// Zepto.js // (c) 2010-2012 Thomas Fuchs // Zepto.js may be freely distributed under the MIT license. ;(function ($) { $.fn.serializeArray = function () { var result = [], el $( Array.prototype.slice.call(this.get(0).elements) ).each(function () { el = $(this) var type = el.attr('type') if (this.nodeName.toLowerCase() != 'fieldset' && !this.disabled && type != 'submit' && type != 'reset' && type != 'button' && ((type != 'radio' && type != 'checkbox') || this.checked)) result.push({ name: el.attr('name'), value: el.val() }) }) return result } $.fn.serialize = function () { var result = [] this.serializeArray().forEach(function (elm) { result.push( encodeURIComponent(elm.name) + '=' + encodeURIComponent(elm.value) ) }) return result.join('&') } $.fn.submit = function (callback) { if (callback) this.bind('submit', callback) else if (this.length) { var event = $.Event('submit') this.eq(0).trigger(event) if (!event.defaultPrevented) this.get(0).submit() } return this } })(Zepto)