Tengo una función que suma dos campos, para ello utilizo: getElementsByName. Esta función trabaja perfectamente
Ahora, deseo que esta función realice la suma por: getElementById
La razón, es que debo pasar el contenido de los campos a una segunda página, por lo que debo asignar un nombre diferentes a cada campo.
En este ejemplo he puesto 2 campos a sumar. Mi formulario real puede tener desde 2 campos hasta 100.
Mi código es el siguiente:
Código HTML:
Ver original<input name="cargo" id="abono" type="text" value=0 onKeyUp="sumar()"><br /> <input name="cargo" id="abono" type="text" value=0 onKeyUp="sumar()"><br /> <input name="suma" id="suma" type="text" readonly>
function sumar() {
var suma = 0;
var valid = true;
var inputs = document.getElementsByName('cargo');
for(i =0; i < inputs.length; i++) {
if(inputs[i].value.match( /^[0]*(\d+)$/)) {
suma += parseInt(RegExp.$1);
}
else {valid=false;}
}
if(valid) {
document.getElementById('suma').value = suma;
}
else{
alert("Debe registrar solo numeros");
}
}
Gracias anticipadas.