Feat(ReplaceNameIdSaleLine)

This commit is contained in:
Rodia 2024-07-13 11:25:12 -05:00 committed by Mono Mono
parent b70a0b73c3
commit 9edbd1caef

View File

@ -3,16 +3,27 @@ document.addEventListener('DOMContentLoaded', function(){
var formContainer = document.getElementById('formset-container');
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;
});
});