diff --git a/public/js/icinga/events.js b/public/js/icinga/events.js index 743b7a95e..aeca60db4 100644 --- a/public/js/icinga/events.js +++ b/public/js/icinga/events.js @@ -129,6 +129,7 @@ $(document).on('click', 'a', { self: this }, this.linkClicked); $(document).on('click', 'tr[href]', { self: this }, this.linkClicked); + $(document).on('click', 'input[type="submit"], button[type="submit"]', this.rememberSubmitButton); // We catch all form submit events $(document).on('submit', 'form', { self: this }, this.submitForm); @@ -197,6 +198,12 @@ return self.autoSubmitForm(event); }, + rememberSubmitButton: function(e) { + var $button = $(this); + var $form = $button.closest('form'); + $form.data('submitButton', $button); + }, + autoSubmitForm: function (event) { return event.data.self.submitForm(event, true); }, @@ -217,6 +224,14 @@ var $target; var data; + var $rememberedSubmittButton = $form.data('submitButton'); + if (typeof $rememberedSubmittButton != 'undefined') { + if ($form.has($rememberedSubmittButton)) { + $button = $rememberedSubmittButton; + } + $form.removeData('submitButton'); + } + if ($button.length === 0) { var $el;