mirror of
https://github.com/Hopiu/jquery-mobile.git
synced 2026-03-20 07:50:27 +00:00
58 lines
1.2 KiB
JavaScript
58 lines
1.2 KiB
JavaScript
/*
|
|
* jQuery Mobile Framework : "autoform" plugin
|
|
* Copyright (c) jQuery Project
|
|
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
|
|
* Note: Code is in draft form and is subject to change
|
|
*/
|
|
(function($){
|
|
|
|
//ajax response callbacks
|
|
$.formhandlers = {
|
|
'default' : function(data,type){
|
|
return $(data).find('.ui-content:eq(0)');
|
|
}
|
|
};
|
|
|
|
$.fn.autoform = function(options){
|
|
return $(this).each(function(){
|
|
$this = $(this);
|
|
|
|
//extendable options
|
|
var o = $.extend({
|
|
submitEvents: '',
|
|
method: $this.attr('method'),
|
|
action: $this.attr('action'),
|
|
injectResponse: true,//should be data-attr driven
|
|
dataFilter: $.formhandlers['default'], //should be data-attr driven
|
|
theme: 'b'
|
|
}, options);
|
|
|
|
$this.addClass('ui-autoform ui-bar-'+o.theme);
|
|
|
|
$this.bind(o.submitEvents, function(){
|
|
$(this).submit();
|
|
});
|
|
|
|
$this.submit(function(){
|
|
$.pageLoading();
|
|
$.ajax({
|
|
url: o.action,
|
|
type: o.method,
|
|
data: $(this).serialize(),
|
|
dataFilter: o.dataFilter,
|
|
success: function(data,textStatus){
|
|
$('.ui-page-active .ui-content').replaceWith( data );
|
|
$.mobilize($('.ui-page-active .ui-content'));
|
|
$.pageLoading(true);
|
|
}
|
|
});
|
|
return false;
|
|
});
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
})(jQuery);
|
|
|