Hola como están, hace unos pocos días vi aquí en el foro un código que dejó un usuario, lo copié, pegué, y funciona bien...
Por otro lado tengo un formulario con 6 filas de campos... cada fila tiene 5 campos de los cuales dos se suman y uno pone el total de la suma...
¿Por que copié el código? para no dejar 6 filas, ya que uno nunca sabe si se van a necesitar mas o menos filas... asi que reemplacé mis filas por ese código que es para añadir filas dinamicamente...
El problema que se me presentó fué que antes para sumar tenía un codigo en javascript que me permitía hacerlo facilmente ya que le asignaba el nombre del campo y listo....
Ahora los campos se llaman campo[] y al cambiar el código del javascript no me funciona...
Ahora les dejo los dos códigos para ver si me pueden ayudar a que el código para realizar las sumas funcione con el añadir filas...
código original....
Código HTML:
Ver original<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="jquery-1.6.4.min.js"></script> <link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript"> emails=0;
function agregar() {
emails=emails+1;
$("#campos").append('
<li class="email'+emails+'"><label>cantidad
</label><input type="text" name="cantidad[]" size="6" /><label>precio
</label><input type="text" name="precio[]" size="8" /><label>total
</label><input type="text" name="total[]" size="8" /> </li>');
}
<form name="frm_multiple" method="post" action="procesar.php"> <li><a href="javascript:agregar();">Agregar
</a><br /> <li id="campos"><!-- aqui se crean los CAMPOS --></li>
<p align="center"><input type="submit" name="Send" value="Send" /></p>
y el código con el que sumaba.... funciona bien con campos fijos..
Código Javascript
:
Ver original<script type="text/javascript">
//Multiplico cantidad por valor y pongo el total en subtotal
function Multiplicar(){
interval = setInterval("calculo()",1);
}
function calculo(){
sum1 = document.frm_multiple.cantidad1.value;
sum2 = document.frm_multiple.precio1.value;
document.frm_multiple.total1.value = (sum1 * 1) + (sum2 * 1);
sum3 = document.frm_multiple.cantidad2.value;
sum4 = document.frm_multiple.precio2.value;
document.frm_multiple.total2.value = (sum3 * 1) + (sum4 * 1);
}
function NoMultiplicar(){
clearInterval(interval);
}
</script>
Yo pensba que debía hacer esto pero no me funcionó...
Código Javascript
:
Ver originalfunction calculo(){
sum1 = document.frm_multiple.cantidad[].value;
sum2 = document.frm_multiple.precio[].value;
document.frm_multiple.total[].value = (sum1 * 1) + (sum2 * 1);
}
Por cualquier ayuda, gracias!!