(function($) {
$(document).on('submit', 'form#default_editor', function(e) {
e.preventDefault();
e.stopPropagation();
var $form = $(this);
var $submit = $form.find('input[type="submit"]');
var request = $.ajax({
method: 'POST',
type: 'POST', // until we upgrade jquery ≥ 1.9
url: $.endpoint($form.data('rpcEndpoint')),
data: $form.serialize(),
dataType: 'json',
success: function(data) {
if (data.success) {
$form.replaceWith('' + data.message + '');
} else {
$form.replaceWith('' + data.error + '');
}
},
error: function(jqXHR, errorText) {
$form.after('Sorry, an error occurred: ' + errorText + '. Please try again.');
$(document).off('submit', 'form#default_editor'); // fall back to no-JS behavior.
},
});
$submit.throbber(request);
});
})(jQuery);