Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/01/2015, 12:55
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Hacer sumas Javascript

Bienvenida a FDW

Como veo que eres nueva en esto, te explicaré una manera simple de sumar/restar valores:

Código HTML:
Ver original
  1. <form id = "miForm">
  2.     <label for = "a">Primer valor:</label>
  3.     <input type = "text" id = "a" />
  4.  
  5.     <label for = "b">Segundo valor:</label>
  6.     <input type = "text" id = "b" />
  7.  
  8.     <label>Elija una opción:</label>
  9.     <input type = "radio" name = "opcion" value = "sumar" checked /> Sumar
  10.     <input type = "radio" name = "opcion" value = "restar" /> Restar
  11.        
  12.     <input type = "submit" value = "Ejecutar" />
  13. </form>

Código Javascript:
Ver original
  1. var inputA = document.querySelector("#a"),
  2.     inputB = document.querySelector("#b"),
  3.     form = document.querySelector("#miForm"), a, b, opcion;
  4.  
  5. form.addEventListener("submit", function(event){
  6.     event.preventDefault();
  7.    
  8.     a = inputA.value;
  9.     b = inputB.value;
  10.     opcion = document.querySelector("[name=opcion]:checked").value;
  11.    
  12.     if ((isNaN(a) || !isFinite(a)) || (isNaN(b) || !isFinite(b))){
  13.         alert("Debe de ingresar valores numéricos");
  14.     }
  15.     else{
  16.         a = parseInt(a);
  17.         b = parseInt(b);
  18.  
  19.         if (opcion == "sumar"){
  20.             alert(a + " más " + b + " es igual a " + (a + b));
  21.         }else{
  22.             alert(a + " menos " + b + " es igual a " + (a - b));
  23.         }
  24.     }
  25. }, false);

Ahora, la explicación. En el documento, tenemos un formulario, el cual contiene dos cajas de texto, cada una acompañada de una etiqueta que indica lo que se debe de ingresar en cada caja. Más abajo, tenemos dos opciones de selección única o radiobuttons, acompañados de una etiqueta que indica lo que se debe de hacer con ellas. Finalmente, tenemos un botón de tipo submit con el cual enviaremos la información ingresada en los campos del formulario para ser procesada.

En el código JavaScript, tomamos a ambas cajas de texto por su id, lo mismo hacemos con el formulario y declaro tres variables que usaré más adelante. Cuando se produzca el evento submit en el formulario, es decir, cuando enviemos la información ingresada en sus campos para procesarla, utilizo el método preventDefault para evitar que se produzca el comportamiento natural de dicho evento, es decir, el envío de la información hacia otro archivo o hacia el mismo, lo cual acarrea la recarga de la ventana.

Una vez controlado esto, tomo los valores ingresados en las cajas de texto, así como el valor de la opción que se encuentre marcada. Enseguida, utilizando las funciones isNaN e isFinite, compruebo que ambos valores sean efectivamente numéricos y de no ser así, muestro un mensaje de alerta en el que le indico al usuario que debe de ingresar valores numéricos, caso contrario, es decir, si los valores son numéricos, como los valores en una caja de texto son cadenas, tomo sus valores numéricos, verifico el valor de la opción seleccionada; si es igual a 'sumar', sumo ambos valores, caso contrario, los resto. En ambos casos, muestro un mensaje de alerta con el resultado de la operación.

DEMO

P.D.: Coloca todo el código JavaScript (con sus respectivas etiquetas <script>) después del formulario y antes de la etiqueta </body>, de otro modo, no funcionará.

Saludos
__________________
«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; 09/01/2015 a las 19:11 Razón: Post-data