Código de JavaScript - Suma de valores

Imágen de perfil
Val: 2.089
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Suma de valoresgráfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(22)
Actualizado el 8 de Diciembre del 2019 por Xavi (Publicado el 21 de Enero del 2013)
128.081 visualizaciones desde el 21 de Enero del 2013
Código que muestra como sumar los valores numéricos de unos cuadros de texto a medida que vamos escribiendo. Valida que los valores sean numéricos, mostrando el cuadro de texto en rojo si son incorrectos.

suma-valores

Versión 1 - Versión sin decimales
estrellaestrellaestrellaestrellaestrella(3)

Actualizado el 27 de Noviembre del 2014 (Publicado el 21 de Enero del 2013)gráfica de visualizaciones de la versión: Versión 1 - Versión sin decimales
15.885 visualizaciones desde el 21 de Enero del 2013
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<!DOCTYPE html>
<!--http://www.lawebdelprogramador.com-->
<html>
<head>
    <script type="text/javascript">
    /**
     * Funcion que se ejecuta cada vez que se añade una letra en un cuadro de texto
     * Suma los valores de los cuadros de texto
     */
    function sumar()
    {
        var valor1=verificar("valor1");
        var valor2=verificar("valor2");
        var valor3=verificar("valor3");
        var valor4=verificar("valor4");
        // realizamos la suma de los valores y los ponemos en la casilla del
        // formulario que contiene el total
        document.getElementById("total").value=parseInt(valor1)+parseInt(valor2)+parseInt(valor3)+parseInt(valor4);
    }
 
    /**
     * Funcion para verificar los valores de los cuadros de texto. Si no es un
     * valor numerico, cambia de color el borde del cuadro de texto
     */
    function verificar(id)
    {
        var obj=document.getElementById(id);
        if(obj.value=="")
            value="0";
        else
            value=obj.value;
        if(validate_importe(value))
        {
            // marcamos como erroneo
            obj.style.borderColor="#808080";
            return value;
        }else{
            // marcamos como erroneo
            obj.style.borderColor="#f00";
            return 0;
        }
    }
 
    /**
     * Funcion para validar el importe
     * Tiene que recibir:
     *  El valor del importe (Ej. document.formName.operator)
     *  Determina si permite o no decimales [1-si|0-no]
     * Devuelve:
     *  true-Todo correcto
     *  false-Incorrecto
     */
    function validate_importe(value,decimal)
    {
        if(decimal==undefined)
            decimal=0;
 
        if(decimal==1)
        {
            // Permite decimales tanto por . como por ,
            var patron=new RegExp("^[0-9]+((,|\.)[0-9]{1,2})?$");
        }else{
            // Numero entero normal
            var patron=new RegExp("^([0-9])*$")
        }
 
        if(value && value.search(patron)==0)
        {
            return true;
        }
        return false;
    }
    </script>
 
    <style>
    input   {border:1px solid #808080;text-align:right;width:100px;}
    #total  {font-weight:bold;}
    div     {width:200px;text-align:right;}
    </style>
</head>
 
<body>
    <h1>Suma de valores</h1>
    <div>Valor 1: <input type="text" id="valor1" onkeyup="sumar();"></div>
    <div>Valor 2: <input type="text" id="valor2" onkeyup="sumar();"></div>
    <div>Valor 3: <input type="text" id="valor3" onkeyup="sumar();"></div>
    <div>Valor 4: <input type="text" id="valor4" onkeyup="sumar();"></div>
    <div>Total: <input type="text" id="total" disabled value="0">
</body>
</html>



Comentarios sobre la versión: Versión 1 - Versión sin decimales (3)

4 de Julio del 2014
estrellaestrellaestrellaestrellaestrella
Amigo implemente tu código pero cuando colocó un decimal no me da ningún resultado
Responder
rotsen
13 de Agosto del 2014
estrellaestrellaestrellaestrellaestrella
excelente, como seria con combo select y que a fina la nota si es aprovatoria active un boton o un select para seleccionar la opcion de aprovado
Responder
Javier Henriquez
8 de Noviembre del 2014
estrellaestrellaestrellaestrellaestrella
Si quieres que sume decimales a la linea que dice parseINT cambialo por parseFloat, eso esta en la función sumar ()
Responder

Comentar la versión: Versión 1 - Versión sin decimales

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Versión 2 - Versión con decimales
estrellaestrellaestrellaestrellaestrella(19)

Publicado el 27 de Noviembre del 2014gráfica de visualizaciones de la versión: Versión 2 - Versión con decimales
104.861 visualizaciones desde el 27 de Noviembre del 2014

Versión 3 - versión mejorada con ECMAScript6

Publicado el 8 de Diciembre del 2019gráfica de visualizaciones de la versión: Versión 3 - versión mejorada con ECMAScript6
7.336 visualizaciones desde el 8 de Diciembre del 2019
http://lwp-l.com/s2278