(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);