Hola IsaBelM!!!
Me parece muy buena la modificacion del codigo, al igual de que usaste el isNaN() del cual no sabia, pero ya investigue como funciona
, pero asi como lo pones la funcion esta recorriendo todos los elementos del formulario asi sean textbox, checkbox o radiobuttons, los cuales si yo genero dinamicamente y les asigno digamos el id (numerico) en la propiedad value de un campo de la base de datos, tambien incluira ese valor a la suma:
Código HTML:
<html>
<head>
<title>Sumar campos</title>
<script language="javascript" type="text/javascript">
var total = 0;
function sumacampos()
{
var suma = 0;
//el "CampoaSumar" son los campos textBox que se sumaran
for(var i=0, campos = document.form1; i < campos.elements.length; i++)
{
//Recorro el vector de los campos y realizo la suma
total = suma;
suma += parseFloat(campos.elements[i].value);
if (isNaN(suma)) suma = total;
}
//Asigno la suma a un label que ira cambiando de acuerdo a la cantidad que se capture
document.getElementById('MiLabelTOTAL').innerHTML = suma;
}
</script>
</head>
<body>
<form name="form1">
<input type="text" name="CampoaSumar" id="Campo1" value="0" onkeyup="sumacampos();" />
<input type="text" name="CampoaSumar" id="Campo2" value="0" onkeyup="sumacampos();" />
<input type="text" name="CampoaSumar" id="Campo3" value="0" onkeyup="sumacampos();" />
<!-- Supongamos que estos checkbox se generan dinamicamente de una consulta a una tabla de mysql y php; y en su propiedad value se le asigna el id numerico-->
<label>
<input type="checkbox" name="CampoaSumar" id="Campo4" value="3" /> Mexico</label>
<label><input type="checkbox" name="CampoaSumar" id="Campo5" value="4" /> USA</label>
<label><input type="checkbox" name="CampoaSumar" id="Campo6" value="13" /> Venezuela</label>
<label><input type="radio" name="miRadio" id="miRadio" value="12" />Argentina</label>
<br/>
Total:<label id="MiLabelTOTAL" >0</label>
</form>
</body>
</html>
Saludos!!!!