mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 11:44:10 +09:00
Make rx_ajax forms more customizable
This commit is contained in:
parent
2270cf2729
commit
ca5d90fd07
1 changed files with 27 additions and 21 deletions
|
|
@ -369,16 +369,15 @@
|
||||||
/**
|
/**
|
||||||
* Function for AJAX submission of arbitrary forms.
|
* Function for AJAX submission of arbitrary forms.
|
||||||
*/
|
*/
|
||||||
$(document).on('submit', 'form.rx_ajax', function(event) {
|
XE.ajaxForm = function(form, callback_success, callback_error) {
|
||||||
// Abort if the form already has a 'target' attribute.
|
// Abort if the form already has a 'target' attribute.
|
||||||
var form = $(this);
|
form = $(form);
|
||||||
if (form.attr('target')) {
|
if (form.attr('target')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Prevent page refresh.
|
|
||||||
event.preventDefault();
|
|
||||||
// Get success and error callback functions.
|
// Get success and error callback functions.
|
||||||
var callback_success = form.data('callback-success');
|
if (typeof callback_success === 'undefined') {
|
||||||
|
callback_success = form.data('callback-success');
|
||||||
if (callback_success && window[callback_success] && $.isFunction(window[callback_success])) {
|
if (callback_success && window[callback_success] && $.isFunction(window[callback_success])) {
|
||||||
callback_success = window[callback_success];
|
callback_success = window[callback_success];
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -391,12 +390,15 @@
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
var callback_error = form.data('callback-error');
|
}
|
||||||
|
if (typeof callback_error === 'undefined') {
|
||||||
|
callback_error = form.data('callback-error');
|
||||||
if (callback_error && window[callback_error] && $.isFunction(window[callback_error])) {
|
if (callback_error && window[callback_error] && $.isFunction(window[callback_error])) {
|
||||||
callback_error = window[callback_error];
|
callback_error = window[callback_error];
|
||||||
} else {
|
} else {
|
||||||
callback_error = null;
|
callback_error = null;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Set _rx_ajax_form flag
|
// Set _rx_ajax_form flag
|
||||||
if (!form.find('input[name=_rx_ajax_form]').size()) {
|
if (!form.find('input[name=_rx_ajax_form]').size()) {
|
||||||
form.append('<input type="hidden" name="_rx_ajax_form" value="json" />');
|
form.append('<input type="hidden" name="_rx_ajax_form" value="json" />');
|
||||||
|
|
@ -423,6 +425,10 @@
|
||||||
} else {
|
} else {
|
||||||
window.exec_json('raw', form.serialize(), callback_success, callback_error);
|
window.exec_json('raw', form.serialize(), callback_success, callback_error);
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
$(document).on('submit', 'form.rx_ajax', function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
XE.ajaxForm(this);
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue