41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
![]() |
// Zepto.js
|
||
|
// (c) 2010-2016 Thomas Fuchs
|
||
|
// Zepto.js may be freely distributed under the MIT license.
|
||
|
|
||
|
;(function($){
|
||
|
$.fn.serializeArray = function() {
|
||
|
var name, type, result = [],
|
||
|
add = function(value) {
|
||
|
if (value.forEach) return value.forEach(add)
|
||
|
result.push({ name: name, value: value })
|
||
|
}
|
||
|
if (this[0]) $.each(this[0].elements, function(_, field){
|
||
|
type = field.type, name = field.name
|
||
|
if (name && field.nodeName.toLowerCase() != 'fieldset' &&
|
||
|
!field.disabled && type != 'submit' && type != 'reset' && type != 'button' && type != 'file' &&
|
||
|
((type != 'radio' && type != 'checkbox') || field.checked))
|
||
|
add($(field).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 (0 in arguments) this.bind('submit', callback)
|
||
|
else if (this.length) {
|
||
|
var event = $.Event('submit')
|
||
|
this.eq(0).trigger(event)
|
||
|
if (!event.isDefaultPrevented()) this.get(0).submit()
|
||
|
}
|
||
|
return this
|
||
|
}
|
||
|
|
||
|
})(Zepto)
|