Foros del Web » Programando para Internet » Javascript »

Sumar 2 campos por getElementById

Estas en el tema de Sumar 2 campos por getElementById en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 04/12/2011, 12:52
 
Fecha de Ingreso: enero-2002
Mensajes: 1.173
Antigüedad: 20 años, 6 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.
  #2 (permalink)  
Antiguo 04/12/2011, 13:08
 
Fecha de Ingreso: enero-2002
Mensajes: 1.173
Antigüedad: 20 años, 6 meses
Puntos: 21
Respuesta: Sumar 2 campos por getElementById

Encontré este código que lo hace por Id, solo que no logro incorporarlo a la primera fucnción:


Código HTML:
Ver original
  1. <script type="text/javascript">
  2.  
  3. function DoSum()
  4. {
  5.   document.getElementById("Sum").value =
  6.     parseInt(document.getElementById("No1").value) +
  7.     parseInt(document.getElementById("No2").value) +
  8.     parseInt(document.getElementById("No3").value) +
  9.     parseInt(document.getElementById("No4").value) +
  10.     parseInt(document.getElementById("No5").value)
  11. }
  12.  
  13.  
  14. <input type="text" id="No1" style="width:20px" value="10"/> +
  15. <input type="text" id="No2" style="width:20px" value="20"/> +
  16. <input type="text" id="No3" style="width:20px" value="30"/> +
  17. <input type="text" id="No4" style="width:20px" value="40"/> +
  18. <input type="text" id="No5" style="width:20px" value="50"/> =
  19. <input type="text" id="Sum" style="width:30px"/>
  20. <input type="button" value="Sum" onclick="DoSum()"/>

Etiquetas: campos, formulario, getelementbyid, input
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:05.