diff --git a/tienda_ilusion/don_confiao/static/js/add_line.js b/tienda_ilusion/don_confiao/static/js/add_line.js index aed4bec..4f6bc25 100644 --- a/tienda_ilusion/don_confiao/static/js/add_line.js +++ b/tienda_ilusion/don_confiao/static/js/add_line.js @@ -1,18 +1,29 @@ document.addEventListener('DOMContentLoaded', function(){ var button = document.getElementById('add_line'); var formContainer = document.getElementById('formset-container'); - var totalForms = document.getElementById('id_form-TOTAL_FORMS'); + var totalForms = document.getElementById('id_saleline_set-TOTAL_FORMS'); button.addEventListener('click', function(){ - // Clonar un formulario vacío var newForm = formContainer.querySelector('.form-container').cloneNode(true); - // Obtener el número actual de formularios var formCount = parseInt(totalForms.value); - // Actualizar los atributos de los nuevos campos del formulario var regex = new RegExp('__prefix__', 'g'); newForm.innerHTML = newForm.innerHTML.replace(regex, formCount); - // Añadir el nuevo formulario al contenedor + + var fields = newForm.querySelectorAll('[id^="id_saleline_set-"], [name^="saleline_set-"]'); + fields.forEach(function(field) { + var oldId = field.id; + var oldName = field.name; + + if (oldId) { + var newId = oldId.replace(/-\d+-/, '-' + formCount + '-'); + field.id = newId; + } + if (oldName) { + var newName = oldName.replace(/-\d+-/, '-' + formCount + '-'); + field.name = newName; + } + }); + formContainer.appendChild(newForm); - // Incrementar el total de formularios totalForms.value = formCount + 1; }); }); diff --git a/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html b/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html index 7f6c8d9..d174357 100644 --- a/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html +++ b/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html @@ -13,7 +13,7 @@ {% endfor %} - +