From e0b12f5c7c5813a447dd58401751e978218c62b9 Mon Sep 17 00:00:00 2001 From: Andrey Smakotin Date: Tue, 11 Nov 2025 01:13:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=B7=D0=B0=D1=82=D0=B5=D0=BC=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D1=8F=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BE=D0=BA=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проблема: После успешного создания клиента модальное окно закрывалось, но фон (backdrop) оставался, и форма становилась неактивной. Решение: Добавлен обработчик события hidden.bs.modal для полной очистки: - Удаляется элемент .modal-backdrop (если остался) - Удаляется класс modal-open с body (восстанавливает прокрутку) - Очищается добавленный padding-right - Возвращается фокус на форму заказа Это обеспечивает полную очистку состояния модального окна Bootstrap 5. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../orders/templates/orders/order_form.html | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/myproject/orders/templates/orders/order_form.html b/myproject/orders/templates/orders/order_form.html index 6f599ac..6e142e0 100644 --- a/myproject/orders/templates/orders/order_form.html +++ b/myproject/orders/templates/orders/order_form.html @@ -1288,7 +1288,30 @@ document.getElementById('save-customer-btn').addEventListener('click', function( .then(data => { if (data.success) { // Закрываем модальное окно - const modal = bootstrap.Modal.getInstance(document.getElementById('createCustomerModal')); + const modalElement = document.getElementById('createCustomerModal'); + const modal = bootstrap.Modal.getInstance(modalElement); + + // Слушаем событие полного закрытия модального окна + const handleHidden = () => { + // Удаляем обработчик после первого запуска + modalElement.removeEventListener('hidden.bs.modal', handleHidden); + + // Дополнительная очистка (на случай если Bootstrap не почистил) + const backdrop = document.querySelector('.modal-backdrop'); + if (backdrop) { + backdrop.remove(); + } + document.body.classList.remove('modal-open'); + document.body.style.paddingRight = ''; + + // Возвращаем фокус на форму заказа (опционально) + const orderForm = document.getElementById('order-form'); + if (orderForm) { + orderForm.focus(); + } + }; + + modalElement.addEventListener('hidden.bs.modal', handleHidden); modal.hide(); // Выбираем созданного клиента в Select2