Исправлено затемнение после закрытия модального окна создания клиента
Проблема: После успешного создания клиента модальное окно закрывалось, но фон (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 => {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user