AddSaleLineButton #11
@@ -1,18 +1,29 @@
 | 
				
			|||||||
document.addEventListener('DOMContentLoaded', function(){
 | 
					document.addEventListener('DOMContentLoaded', function(){
 | 
				
			||||||
  var button = document.getElementById('add_line');
 | 
					  var button = document.getElementById('add_line');
 | 
				
			||||||
  var formContainer = document.getElementById('formset-container');
 | 
					  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(){
 | 
					  button.addEventListener('click', function(){
 | 
				
			||||||
    // Clonar un formulario vacío
 | 
					 | 
				
			||||||
    var newForm = formContainer.querySelector('.form-container').cloneNode(true);
 | 
					    var newForm = formContainer.querySelector('.form-container').cloneNode(true);
 | 
				
			||||||
    // Obtener el número actual de formularios
 | 
					 | 
				
			||||||
    var formCount = parseInt(totalForms.value);
 | 
					    var formCount = parseInt(totalForms.value);
 | 
				
			||||||
    // Actualizar los atributos de los nuevos campos del formulario
 | 
					 | 
				
			||||||
    var regex = new RegExp('__prefix__', 'g');
 | 
					    var regex = new RegExp('__prefix__', 'g');
 | 
				
			||||||
    newForm.innerHTML = newForm.innerHTML.replace(regex, formCount);
 | 
					    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);
 | 
					    formContainer.appendChild(newForm);
 | 
				
			||||||
    // Incrementar el total de formularios
 | 
					 | 
				
			||||||
    totalForms.value = formCount + 1;
 | 
					    totalForms.value = formCount + 1;
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,7 @@
 | 
				
			|||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
    {% endfor %}
 | 
					    {% endfor %}
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
  <button id="add_line">Añadir Linea</button>
 | 
					  <button id="add_line" type="button" onclick="add_line">Añadir Linea</button>
 | 
				
			||||||
  <br/><button name="form" type="submit" >Comprar</button>
 | 
					  <br/><button name="form" type="submit" >Comprar</button>
 | 
				
			||||||
  <script src="{% static 'js/add_line.js' %}"></script>
 | 
					  <script src="{% static 'js/add_line.js' %}"></script>
 | 
				
			||||||
</form>
 | 
					</form>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user