From 7b105cb4671e7f41dd3d9738b8213a3fa7a1cf09 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 0663123c8f1..4865cb1fb46 100644 --- a/lib/form/classes/external/dynamic_form.php +++ b/lib/form/classes/external/dynamic_form.php @@ -79,6 +79,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();