Merge pull request #1606 from cccaballero/master

Added on_succes and custom options for web2py ajax function
This commit is contained in:
mdipierro authored and GitHub committed 2017-04-28 08:08:39 -05:00
commit d8be963656
3 files changed
+111 -21

No files matched your search

+37 -7
View File
@@ -38,8 +38,12 @@
if (value > 0) $('#' + id).hide().fadeIn('slow'); if (value > 0) $('#' + id).hide().fadeIn('slow');
else $('#' + id).show().fadeOut('slow'); else $('#' + id).show().fadeOut('slow');
}, },
ajax: function (u, s, t) { ajax: function (u, s, t, options) {
/*simple ajax function*/ /*simple ajax function*/
// set options default value
options = typeof options !== 'undefined' ? options : {};
var query = ''; var query = '';
if (typeof s == 'string') { if (typeof s == 'string') {
var d = $(s).serialize(); var d = $(s).serialize();
@@ -59,18 +63,44 @@
query = pcs.join('&'); query = pcs.join('&');
} }
} }
$.ajax({
type: 'POST', // default success action
url: u, var success_function = function (msg) {
data: query,
success: function (msg) {
if (t) { if (t) {
if (t == ':eval') eval(msg); if (t == ':eval') eval(msg);
else if (typeof t == 'string') $('#' + t).html(msg); else if (typeof t == 'string') $('#' + t).html(msg);
else t(msg); else t(msg);
} }
};
// declare success actions as array
var success = [success_function];
// add user success actions
if ($.isArray(options.done)){
success = $.merge(success, options.done);
} else {
success.push(options.done);
} }
});
// default jquery ajax options
var ajax_options = {
type: 'POST',
url: u,
data: query,
success: success
};
//remove custom "done" option if exists
delete options.done;
// merge default ajax options with user custom options
for (var attrname in options) {
ajax_options[attrname] = options[attrname];
}
// call ajax function
$.ajax(ajax_options);
}, },
ajax_fields: function (target) { ajax_fields: function (target) {
/* /*
+37 -7
View File
@@ -38,8 +38,12 @@
if (value > 0) $('#' + id).hide().fadeIn('slow'); if (value > 0) $('#' + id).hide().fadeIn('slow');
else $('#' + id).show().fadeOut('slow'); else $('#' + id).show().fadeOut('slow');
}, },
ajax: function (u, s, t) { ajax: function (u, s, t, options) {
/*simple ajax function*/ /*simple ajax function*/
// set options default value
options = typeof options !== 'undefined' ? options : {};
var query = ''; var query = '';
if (typeof s == 'string') { if (typeof s == 'string') {
var d = $(s).serialize(); var d = $(s).serialize();
@@ -59,18 +63,44 @@
query = pcs.join('&'); query = pcs.join('&');
} }
} }
$.ajax({
type: 'POST', // default success action
url: u, var success_function = function (msg) {
data: query,
success: function (msg) {
if (t) { if (t) {
if (t == ':eval') eval(msg); if (t == ':eval') eval(msg);
else if (typeof t == 'string') $('#' + t).html(msg); else if (typeof t == 'string') $('#' + t).html(msg);
else t(msg); else t(msg);
} }
};
// declare success actions as array
var success = [success_function];
// add user success actions
if ($.isArray(options.done)){
success = $.merge(success, options.done);
} else {
success.push(options.done);
} }
});
// default jquery ajax options
var ajax_options = {
type: 'POST',
url: u,
data: query,
success: success
};
//remove custom "done" option if exists
delete options.done;
// merge default ajax options with user custom options
for (var attrname in options) {
ajax_options[attrname] = options[attrname];
}
// call ajax function
$.ajax(ajax_options);
}, },
ajax_fields: function (target) { ajax_fields: function (target) {
/* /*
+37 -7
View File
@@ -38,8 +38,12 @@
if (value > 0) $('#' + id).hide().fadeIn('slow'); if (value > 0) $('#' + id).hide().fadeIn('slow');
else $('#' + id).show().fadeOut('slow'); else $('#' + id).show().fadeOut('slow');
}, },
ajax: function (u, s, t) { ajax: function (u, s, t, options) {
/*simple ajax function*/ /*simple ajax function*/
// set options default value
options = typeof options !== 'undefined' ? options : {};
var query = ''; var query = '';
if (typeof s == 'string') { if (typeof s == 'string') {
var d = $(s).serialize(); var d = $(s).serialize();
@@ -59,18 +63,44 @@
query = pcs.join('&'); query = pcs.join('&');
} }
} }
$.ajax({
type: 'POST', // default success action
url: u, var success_function = function (msg) {
data: query,
success: function (msg) {
if (t) { if (t) {
if (t == ':eval') eval(msg); if (t == ':eval') eval(msg);
else if (typeof t == 'string') $('#' + t).html(msg); else if (typeof t == 'string') $('#' + t).html(msg);
else t(msg); else t(msg);
} }
};
// declare success actions as array
var success = [success_function];
// add user success actions
if ($.isArray(options.done)){
success = $.merge(success, options.done);
} else {
success.push(options.done);
} }
});
// default jquery ajax options
var ajax_options = {
type: 'POST',
url: u,
data: query,
success: success
};
//remove custom "done" option if exists
delete options.done;
// merge default ajax options with user custom options
for (var attrname in options) {
ajax_options[attrname] = options[attrname];
}
// call ajax function
$.ajax(ajax_options);
}, },
ajax_fields: function (target) { ajax_fields: function (target) {
/* /*