From a63ae668a20bf582e0f1049c8495f8622bda7ff2 Mon Sep 17 00:00:00 2001 From: Rodia Date: Fri, 12 Jul 2024 23:40:43 -0500 Subject: [PATCH] =?UTF-8?q?Feat(ButtonAddLine):=20A=C3=B1adir=20linea=20de?= =?UTF-8?q?=20venta=20en=20formulario=20WIP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../don_confiao/static/js/add_line.js | 18 ++++++++++++++++ .../templates/don_confiao/purchase.html | 21 ++++++++++++------- 2 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 tienda_ilusion/don_confiao/static/js/add_line.js diff --git a/tienda_ilusion/don_confiao/static/js/add_line.js b/tienda_ilusion/don_confiao/static/js/add_line.js new file mode 100644 index 0000000..aed4bec --- /dev/null +++ b/tienda_ilusion/don_confiao/static/js/add_line.js @@ -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; + }); +}); diff --git a/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html b/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html index 0d2c2f4..7f6c8d9 100644 --- a/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html +++ b/tienda_ilusion/don_confiao/templates/don_confiao/purchase.html @@ -1,12 +1,19 @@ +{% load static %}
- {% csrf_token %} - {{ sale_form}} + {% csrf_token %} + {{ sale_form}} {{ linea_formset.management_form }} - {% for form in linea_formset %} - - {{ form.as_table }} -
+
+ {% for form in linea_formset %} +
+ + {{ form.as_table }} +
+
{% endfor %} -
+
+ +
+