From b3d0204067b931c6413f04a40d72223c6b6790a5 Mon Sep 17 00:00:00 2001 From: Sanchit Kathpalia Date: Thu, 31 Jul 2025 15:46:11 +0530 Subject: [PATCH] fix: prevent dropdown toggle on Enter in form input (Bootstrap #41354 workaround) --- .../[version]/assets/js/validate-forms.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/site/static/docs/[version]/assets/js/validate-forms.js b/site/static/docs/[version]/assets/js/validate-forms.js index 30ea0aa6b1..35b81a7bbd 100644 --- a/site/static/docs/[version]/assets/js/validate-forms.js +++ b/site/static/docs/[version]/assets/js/validate-forms.js @@ -17,3 +17,22 @@ }, false) }) })() + +// Workaround for Bootstrap dropdown toggling on Enter in form inputs +// See: https://github.com/twbs/bootstrap/issues/41354 + +document.addEventListener('keydown', function(event) { + if (event.key === 'Enter') { + if ( + event.target.tagName === 'INPUT' && + event.target.form + ) { + // Find all dropdown toggles after the input in the same form + let dropdowns = Array.from(event.target.form.querySelectorAll('[data-bs-toggle="dropdown"]')); + let inputIndex = Array.from(event.target.form.elements).indexOf(event.target); + if (dropdowns.some(btn => Array.from(event.target.form.elements).indexOf(btn) > inputIndex)) { + event.stopPropagation(); + } + } + } +}, true);