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 })); } }