From c9398e27f2bcaa80ece91403e86c16583f0dbd65 Mon Sep 17 00:00:00 2001 From: Philipp Memmel Date: Mon, 28 Aug 2023 11:42:28 +0200 Subject: [PATCH] MDL-78795 core_form: Fix repeated elements JS problem Co-authored-by: Stefan Hanauska --- lib/form/classes/external/dynamic_form.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/form/classes/external/dynamic_form.php b/lib/form/classes/external/dynamic_form.php index f430d2fe622..8957a017414 100644 --- a/lib/form/classes/external/dynamic_form.php +++ b/lib/form/classes/external/dynamic_form.php @@ -77,6 +77,13 @@ class dynamic_form extends external_api { // Render actual form. + if ($form->no_submit_button_pressed()) { + // If form has not been submitted, we have to recreate the form for being able to properly handle non-submit action + // like "repeat elements" to include additional JS. + /** @var \core_form\dynamic_form $form */ + $form = new $formclass(null, null, 'post', '', [], true, $formdata, true); + $form->set_data_for_dynamic_submission(); + } // Hack alert: Forcing bootstrap_renderer to initiate moodle page. $OUTPUT->header();