Hola a todos,
He visto este tema y me ha servido a la perfección para lo que yo necesitaba, lo único que necesito nuevo es mandarlo por email.
Al intentar pasar los valores de los inputs por $_POST he visto que me ha sido imposible ya que al tener el mismo nombre, sólo envía el valor del último input.
Gracias!!
Código HTML:
Ver original
<script language="javascript" type="text/javascript">
function sumacampos(id,IDTOTAL,NombreCampo)
{
//declaro variable que almacenara la suma total
var suma = parseFloat(eval("document.getElementById('"+id+"').value")); //le asigno el valor del campo actual
//declaro campo que se mostrara en el input
var IDTOTAL = document.getElementById(IDTOTAL);
//el "CampoaSumar" son los campos textBox que se sumaran
for(var i=0; i < eval("document.form1."+NombreCampo+".length"); i++)
{
//Comparo el id del campo en que me encuentro para no sumarlo nuevamente y sumar los demas
if(eval("document.getElementById('"+id+"').id") != eval("document.form1."+NombreCampo+"["+i+"].id") )
{
//Recorro el vector de los campos y realizo la suma
suma = suma + parseFloat(eval("document.form1."+NombreCampo+"["+i+"].value"));
}
//Asigno la suma a un label que ira cambiando de acuerdo a la cantidad que se capture
IDTOTAL.value = suma;
}
}
<?php
echo "<pre>";
print_r($_POST);
?>
<form name="form1" action="sumar_campos.php" method="post"> <br/><input type="text" name="CampoaSumar" id="Campo1" value="0" onkeyup="sumacampos('Campo1','MiLabelTOTAL','CampoaSumar');" /> <br/><input type="text" name="CampoaSumar" id="Campo2" value="0" onkeyup="sumacampos('Campo2','MiLabelTOTAL','CampoaSumar');" /> <br/><input type="text" name="CampoaSumar" id="Campo3" value="0" onkeyup="sumacampos('Campo3','MiLabelTOTAL','CampoaSumar');" /> Total:
<input type="text" readOnly="true" value="0" id="MiLabelTOTAL" /><input type="submit" value="enviar">