Исправлено затемнение после закрытия модального окна создания клиента
Проблема: После успешного создания клиента модальное окно закрывалось, но фон (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 <noreply@anthropic.com>
This commit is contained in:
@@ -1288,7 +1288,30 @@ document.getElementById('save-customer-btn').addEventListener('click', function(
|
|||||||
.then(data => {
|
.then(data => {
|
||||||
if (data.success) {
|
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();
|
modal.hide();
|
||||||
|
|
||||||
// Выбираем созданного клиента в Select2
|
// Выбираем созданного клиента в Select2
|
||||||
|
|||||||
Reference in New Issue
Block a user