From a51ea0dab7cc9bc55049fe5c580ffd1ad4663570 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Tue, 28 Feb 2023 09:00:01 +0000 Subject: [PATCH] respect formaction attribute in combination with form attribute, fixes #2225 Closes #2225 Merge request studip/studip!1456 --- resources/assets/javascripts/lib/dialog.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/resources/assets/javascripts/lib/dialog.js b/resources/assets/javascripts/lib/dialog.js index 23a17af619f..7c70aedf0bf 100644 --- a/resources/assets/javascripts/lib/dialog.js +++ b/resources/assets/javascripts/lib/dialog.js @@ -682,8 +682,17 @@ Dialog.initialize = function() { // Actual dialog handler function dialogHandler(event) { if (!event.isDefaultPrevented() && checkValidity(event.target)) { - var target = $(event.target).closest('[data-dialog]'); - var options = target.data().dialog; + let target = $(event.target).closest('[data-dialog]'); + let options = target.data().dialog; + + if ( + target.is('form') + && event.originalEvent.submitter + && $(event.originalEvent.submitter).attr('formaction') + ) { + target.data('formaction', $(event.originalEvent.submitter).attr('formaction')); + } + if (Dialog.fromElement(target, parseOptions(options))) { event.preventDefault(); } -- GitLab