Feat(ButtonAddLine): Añadir linea de venta en formulario WIP

This commit is contained in:
Rodia 2024-07-12 23:40:43 -05:00 committed by Mono Mono
parent b94c5a0070
commit cb84371f4b
2 changed files with 32 additions and 7 deletions

View File

@ -0,0 +1,18 @@
document.addEventListener('DOMContentLoaded', function(){
var button = document.getElementById('add_line');
var formContainer = document.getElementById('formset-container');
var totalForms = document.getElementById('id_form-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
formContainer.appendChild(newForm);
// Incrementar el total de formularios
totalForms.value = formCount + 1;
});
});

View File

@ -1,12 +1,19 @@
<!doctype html>
{% load static %}
<form method="POST">
{% csrf_token %}
{{ sale_form}}
{% csrf_token %}
{{ sale_form}}
{{ linea_formset.management_form }}
{% for form in linea_formset %}
<table style="border: solid 1px blue; margin: 10px">
{{ form.as_table }}
</table>
<div id="formset-container">
{% for form in linea_formset %}
<div class="form-container">
<table style="border: solid 1px blue; margin: 10px">
{{ form.as_table }}
</table>
</div>
{% endfor %}
<br/><button name="form" type="submit" >Comprar</button>
</div>
<button id="add_line">Añadir Linea</button>
<br/><button name="form" type="submit" >Comprar</button>
<script src="{% static 'js/add_line.js' %}"></script>
</form>