Foros del Web » Programando para Internet » Javascript »

Sumar dos numeros con tecla TAB

Estas en el tema de Sumar dos numeros con tecla TAB en el foro de Javascript en Foros del Web. Buen dia, tengo un codigo para sumar numeros a medida que se bayan ingresando en los campos de texto. Pero quiero que el resultado se ...
  #1 (permalink)  
Antiguo 29/11/2015, 21:11
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 14 años, 2 meses
Puntos: 2
Sumar dos numeros con tecla TAB

Buen dia, tengo un codigo para sumar numeros a medida que se bayan ingresando en los campos de texto. Pero quiero que el resultado se muestre dentro de un textbox pero al tratar de hacerlo se me borra el input y aparece el resultado impreso en pantalla

Código HTML:
Ver original
  1. <title>Sumar campos</title>
  2.  
  3. <script language="javascript" type="text/javascript">
  4. var total = 0;
  5. function sumacampos()
  6. {
  7.  
  8. var suma = 0;
  9.  
  10. //el "CampoaSumar" son los campos textBox que se sumaran
  11. for(var i=0, campos = document.form1; i < campos.elements.length; i++)
  12. {
  13.  
  14. //Recorro el vector de los campos y realizo la suma
  15. total = suma;
  16. suma += parseFloat(campos.elements[i].value);
  17. if (isNaN(suma)) suma = total;
  18.  
  19. }
  20.  
  21. //Asigno la suma a un label que ira cambiando de acuerdo a la cantidad que se capture
  22. document.getElementById('MiLabelTOTAL').innerHTML = suma;
  23.  
  24.  
  25.  
  26. }
  27.  
  28.  
  29. </head>
  30. <form name="form1">
  31. <input type="text" name="CampoaSumar" id="Campo1" value="" onkeyup="sumacampos();" />
  32. <input type="text" name="CampoaSumar" id="Campo2" value="" onkeyup="sumacampos();" />
  33. <input type="text" name="CampoaSumar" id="Campo3" value="" onkeyup="sumacampos();" />
  34. <br/>
  35. Total:<label id="MiLabelTOTAL" ><input type="text" name="total" value=""></input> </label>
  36.  
  37. </form>
  38.  
  39.  
  40. </body>
  41. </html>

Última edición por nelson12345; 29/11/2015 a las 21:39
  #2 (permalink)  
Antiguo 30/11/2015, 03:28
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Sumar dos numeros con tecla TAB

El error es claro: reemplazas el contenido del <label>, el cual originalmente está compuesto únicamente por el <input> y lo reemplazas por el resultado que deseas mostrar.

Te sugiero eliminar el <label> o tenerlo aparte del <input> y a este último asignarle el valor mediante la propiedad value:
Código Javascript:
Ver original
  1. document.querySelector("[name=total]").value = suma;

Solo ten cuidado al realizar las operaciones ya que de la forma en la que tienes tu algoritmo, la suma se ejecutará cuando se pulse cualquier tecla mientras cualquiera de las cajas de texto tenga el enfoque. Si quieres que la suma se realice al pulsar la tecla de tabulación, necesitas obtener el código de la tecla pulsada y compararlo con el código ASCII de la tecla en mención el cual es el 9.

Por cierto, se escribe «vayan».

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 30/11/2015 a las 03:35 Razón: Enlace y código de tecla

Etiquetas: input, numeros, tab, tecla
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 06:59.