From 1b2d980971597ff6ba909d68e97a3ada03bac868 Mon Sep 17 00:00:00 2001 From: Felix Hamann Date: Sun, 3 Mar 2019 12:18:10 +0100 Subject: [PATCH] alter ids for dynamic modal content to avoid name collisions closes #308 --- static/js/utils/modal.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/static/js/utils/modal.js b/static/js/utils/modal.js index 63d7471d3..643704e45 100644 --- a/static/js/utils/modal.js +++ b/static/js/utils/modal.js @@ -112,10 +112,23 @@ if (previousModalContent) { previousModalContent.remove(); } + + modalContent = withPrefixedInputIDs(modalContent); modalElement.insertBefore(modalContent, null); setupForm(); } + function withPrefixedInputIDs(modalContent) { + var idAttrs = ['id', 'for', 'data-conditional-id']; + idAttrs.forEach(function(attr) { + modalContent.querySelectorAll('[' + attr + ']').forEach(function(input) { + var value = modalElement.id + '__' + input.getAttribute(attr); + input.setAttribute(attr, value); + }); + }); + return modalContent; + } + function keyupHandler(event) { if (event.key === 'Escape') { close();