summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/Zepto/form.js
Side-by-side diff
Diffstat (limited to 'frontend/gamma/js/Zepto/form.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/gamma/js/Zepto/form.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/frontend/gamma/js/Zepto/form.js b/frontend/gamma/js/Zepto/form.js
new file mode 100644
index 0000000..4d562a6
--- a/dev/null
+++ b/frontend/gamma/js/Zepto/form.js
@@ -0,0 +1,40 @@
+// 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)