Código de JavaScript - Suma de valores

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

Suma de valoresgráfica de visualizaciones


JavaScript

Actualizado el 8 de Diciembre del 2019 por Xavi (541 códigos) (Publicado el 21 de Enero del 2013)
137.440 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
16.287 visualizaciones desde el 21 de Enero del 2013

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
105.162 visualizaciones desde el 27 de Noviembre del 2014

Versión 3 - versión mejorada con ECMAScript6
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 8 de Diciembre del 2019gráfica de visualizaciones de la versión: Versión 3 - versión mejorada con ECMAScript6
15.994 visualizaciones desde el 8 de Diciembre del 2019
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
<!DOCTYPE html>
<html>
<head>
    <style>
    div     {width:200px;text-align:right;padding:2px;}
    input   {border:1px solid #808080;text-align:right;width:100px;padding:2px;}
    #total  {font-weight:bold;}
    .red    {border-color:red;}
    .green  {border-color:green;}
    </style>
</head>
 
<body>
    <h1>Suma de valores</h1>
    <div>Valor 1: <input type="text" class='sumar'></div>
    <div>Valor 2: <input type="text" class='sumar'></div>
    <div>Valor 3: <input type="text" class='sumar'></div>
    <div>Valor 4: <input type="text" class='sumar'></div>
    <div>Total: <input type="text" id="total" disabled value="0">
</body>
</html>
 
<script>
const inputs=document.querySelectorAll("input.sumar");
 
// creamos el evento keyup para cada input que tiene la clase .sumar
for(el of inputs) {
    el.addEventListener("keyup", sumar);
}
 
/**
 * 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()
{
    let sum=[...inputs].reduce((acum, el)=>{
        return (verificar(el)) ? acum+parseFloat(el.value) : acum;
    },0);
    document.getElementById("total").value=sum.toFixed(2);
}
 
/**
 * 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 y devuelve false
 *
 * @param object el - elemento input
 *
 * @return boolean
 */
function verificar(el)
{
    el.classList.remove("red", "green");
    if (/^[0-9]*\.?[0-9]+$/.test(el.value)) {
        el.classList.add("green");
        return true;
    } else {
        if (el.value) {
            el.classList.add("red");
        }
        return false;
    }
}
</script>



Comentarios sobre la versión: Versión 3 - versión mejorada con ECMAScript6 (2)

Manuel Sandoval
20 de Abril del 2020
estrellaestrellaestrellaestrellaestrella
Super útil, necesitaba algo así para un proyecto que debo terminar lo antes posible.

¡Muchas gracias!
Responder
jbautista
2 de Septiembre del 2020
estrellaestrellaestrellaestrellaestrella
Hola este código esta muy bueno; pero me gustaria sumar 4 valores y luego dividir por un 5to valor
Responder

Comentar la versión: Versión 3 - versión mejorada con ECMAScript6

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

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s2278