Добавлены подробные логи в скрипт очистки пустых форм для отладки
This commit is contained in:
@@ -853,12 +853,16 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
|
|
||||||
// Обработчик submit - очищаем пустые строки перед валидацией
|
// Обработчик submit - очищаем пустые строки перед валидацией
|
||||||
orderForm.addEventListener('submit', function(e) {
|
orderForm.addEventListener('submit', function(e) {
|
||||||
|
console.log('[Form Cleanup] Начало очистки пустых форм товаров');
|
||||||
|
|
||||||
// Находим все формы товаров
|
// Находим все формы товаров
|
||||||
const itemForms = document.querySelectorAll('.order-item-form');
|
const itemForms = document.querySelectorAll('.order-item-form');
|
||||||
|
console.log('[Form Cleanup] Найдено форм:', itemForms.length);
|
||||||
|
|
||||||
itemForms.forEach(form => {
|
itemForms.forEach((form, formIndex) => {
|
||||||
// Пропускаем уже удалённые формы
|
// Пропускаем уже удалённые формы
|
||||||
if (form.classList.contains('deleted')) {
|
if (form.classList.contains('deleted')) {
|
||||||
|
console.log(`[Form Cleanup] Форма ${formIndex}: уже удалена, пропуск`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -875,12 +879,21 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
const hasQuantity = quantityField && quantityField.value && quantityField.value.trim();
|
const hasQuantity = quantityField && quantityField.value && quantityField.value.trim();
|
||||||
const hasPrice = priceField && priceField.value && priceField.value.trim();
|
const hasPrice = priceField && priceField.value && priceField.value.trim();
|
||||||
|
|
||||||
|
console.log(`[Form Cleanup] Форма ${formIndex}:`);
|
||||||
|
console.log(` - product: ${hasProduct || '(пусто)'}`);
|
||||||
|
console.log(` - kit: ${hasKit || '(пусто)'}`);
|
||||||
|
console.log(` - quantity: ${hasQuantity || '(пусто)'}`);
|
||||||
|
console.log(` - price: ${hasPrice || '(пусто)'}`);
|
||||||
|
|
||||||
// Если ВСЁ пусто — это мусорная строка, удаляем
|
// Если ВСЁ пусто — это мусорная строка, удаляем
|
||||||
const isCompletelyEmpty = !hasProduct && !hasKit && !hasQuantity && !hasPrice;
|
const isCompletelyEmpty = !hasProduct && !hasKit && !hasQuantity && !hasPrice;
|
||||||
|
|
||||||
|
console.log(` - Полностью пустая? ${isCompletelyEmpty}`);
|
||||||
|
|
||||||
if (isCompletelyEmpty) {
|
if (isCompletelyEmpty) {
|
||||||
// Если есть ID (сохранённая позиция) — помечаем на удаление
|
// Если есть ID (сохранённая позиция) — помечаем на удаление
|
||||||
if (idField && idField.value) {
|
if (idField && idField.value) {
|
||||||
|
console.log(` - Действие: помечаем DELETE (есть ID: ${idField.value})`);
|
||||||
const deleteCheckbox = form.querySelector('input[name$="-DELETE"]');
|
const deleteCheckbox = form.querySelector('input[name$="-DELETE"]');
|
||||||
if (deleteCheckbox) {
|
if (deleteCheckbox) {
|
||||||
deleteCheckbox.checked = true;
|
deleteCheckbox.checked = true;
|
||||||
@@ -888,12 +901,16 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
form.classList.add('deleted');
|
form.classList.add('deleted');
|
||||||
form.style.display = 'none';
|
form.style.display = 'none';
|
||||||
} else {
|
} else {
|
||||||
|
console.log(` - Действие: удаляем из DOM (нет ID)`);
|
||||||
// Новая несохранённая форма — просто удаляем из DOM
|
// Новая несохранённая форма — просто удаляем из DOM
|
||||||
form.remove();
|
form.remove();
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
console.log(` - Действие: оставляем (не пустая, пойдёт на валидацию)`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log('[Form Cleanup] Очистка завершена');
|
||||||
// Всё остальное идёт на валидацию Django как есть
|
// Всё остальное идёт на валидацию Django как есть
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user