Código de JavaScript - Suma de valores

Imágen de perfil

Suma de valoresgráfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(8)
Actualizado el 27 de Noviembre del 2014 por Xavi (Creado el 21 de Enero del 2013)
54.609 visualizaciones desde el 21 de Enero del 2013. Una media de 266 por semana
Código que muestra como sumar los valores numéricos de unos cuadros de texto. Valida que los valores sean numéricos, mostrando el cuadro de texto en rojo si son incorrectos.

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

Actualizado el 27 de Noviembre del 2014 (Creado el 21 de Enero del 2013)gráfica de visualizaciones de la versión: Versión 1 - Versión sin decimales
14.778 visualizaciones desde el 21 de Enero del 2013. Una media de 77 por semana

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

Publicado el 27 de Noviembre del 2014gráfica de visualizaciones de la versión: Versión 2 - Versión con decimales
39.833 visualizaciones desde el 27 de Noviembre del 2014. Una media de 357 por semana
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=parseFloat(valor1)+parseFloat(valor2)+parseFloat(valor3)+parseFloat(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,1))
        {
            // 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 2 - Versión con decimales (5)

Daniel
13 de Febrero del 2015
estrellaestrellaestrellaestrellaestrella
Hola estimado amigo muy bueno tu ejemplo, pero como podria hacer para que me sume campos agregados por decir :
<input type="text" id="debe" name="debe[]"/>
<input type="text" id="debe1" name="debe[]"/>
<input type="text" id="debe3" name="debe[]"/>
y asi sucesivamente los que vaya agregando. GRACIAS
Responder
Pablo
15 de Junio del 2016
estrellaestrellaestrellaestrellaestrella
Buenas Daniel,

Averiguaste como hacerlo??

Gracias
Responder
Sergio
14 de Mayo del 2015
estrellaestrellaestrellaestrellaestrella
Muy buen ejemplo...acaban de salvarme !
Responder
LOIDA
07 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
muy buenos codigos
Responder
Cesar
03 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
Me sirvió muy bien.
Responder

Comentar la versión: Versión 2 - Versión con decimales

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2278