Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/12/2011, 12:52
Bier
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 11 meses
Puntos: 21
Sumar 2 campos por getElementById

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
  1. <input name="cargo" id="abono" type="text" value=0 onKeyUp="sumar()"><br />
  2. <input name="cargo" id="abono" type="text" value=0 onKeyUp="sumar()"><br />
  3. <input name="suma" id="suma" type="text" readonly>
  4.  
  5. <script language=javascript>
  6. function sumar() {
  7. var suma = 0;
  8. var valid = true;
  9. var inputs = document.getElementsByName('cargo');
  10. for(i =0; i < inputs.length; i++) {
  11. if(inputs[i].value.match( /^[0]*(\d+)$/)) {
  12. suma += parseInt(RegExp.$1);
  13. }
  14. else {valid=false;}
  15. }
  16.  
  17. if(valid) {
  18. document.getElementById('suma').value = suma;
  19. }
  20. else{
  21. alert("Debe registrar solo numeros");
  22. }
  23. }


Gracias anticipadas.