From b84032d0b9ac7b506bef42688a8fd3d8b411853d Mon Sep 17 00:00:00 2001 From: Felix Hamann Date: Sun, 31 Mar 2019 20:31:07 +0200 Subject: [PATCH] dont initialize forms inside modals wihout modal headers --- static/js/utils/form.js | 9 ++++++++- static/js/utils/modal.js | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/static/js/utils/form.js b/static/js/utils/form.js index e45fd56c0..2e9bbc92b 100644 --- a/static/js/utils/form.js +++ b/static/js/utils/form.js @@ -20,8 +20,15 @@ } window.utils.form = function(form, options) { + options = options || {}; - if (form.classList.contains(JS_INITIALIZED)) { + // dont initialize form if it is in a modal and is not forced + if (form.closest('.modal') && !options.force) { + return false; + } + + // dont initialize form if already initialized and should not be force-initialized + if (form.classList.contains(JS_INITIALIZED) && !options.force) { return false; } diff --git a/static/js/utils/modal.js b/static/js/utils/modal.js index 5c6c1ec43..a5971edf7 100644 --- a/static/js/utils/modal.js +++ b/static/js/utils/modal.js @@ -75,7 +75,7 @@ function setupForm() { var form = modalElement.querySelector('form'); if (form) { - utilInstances.push(window.utils.setup('form', form, { headers: MODAL_HEADERS })); + utilInstances.push(window.utils.setup('form', form, { headers: MODAL_HEADERS, force: true })); } }