JavaScript - Ayuda: Sumar digitos input

 
Vista:
sin imagen de perfil

Ayuda: Sumar digitos input

Publicado por Iván (6 intervenciones) el 04/02/2018 18:56:31
Buenas a todos, tengo un problema que no consigo avanzar. Tengo un input ya sea de texto o de date, y pretendo hacer la raíz digital de ese input. Por ejemplo, si se pone 5/5/2000 se calcularía: 5+5+2+0+0+0 y sería 12, y luego 1+2 que sería 3.

Para esto pensé la opción de sumar siendo input date o input text (en este habría que evitar las "/"), y dependiendo del resultado mostrar un mensaje (me interesa más sacarlo en JQuery pero estoy más verde).

Por ahora tengo esto, pero tan sólo suma valores con resultados de más de 9.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<html>
	<head>
		<script>
		    function sumar(valor)
		    {
		        var suma=0;
		        for(var i=0;i<valor.length;i++)
		        {
		            suma+=parseInt(valor[i]);
		        }
		        document.getElementById("resultadoSuma").innerHTML="La Suma de los valores de "+valor+" es: "+suma;
		    }
 
		</script>
	</head>
 
	<body>
		<input name="numeros" type="text" id="text">
		<div id="resultadoSuma"></div>
		<button type="submit" value="Submit" id="btn" onclick="sumar(text.value);">Enviar</button>
	</body>
</html>

Un saludo, y muchísimas gracias por vuestra ayuda, espero poder avanzar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Ayuda: Sumar digitos input

Publicado por xve (2100 intervenciones) el 04/02/2018 20:10:25
Hola Iván, tienes el código bien, lo único que te falta es comprobar que realmente el parseInt(valor[i]) devuelve un valor numérico...

te lo he modificado añadiendo un if... haber si te sirve.
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
<html>
	<head>
		<script>
		    function sumar(valor)
		    {
		        var suma=0;
		        for(var i=0;i<valor.length;i++)
		        {
					if(parseInt(valor[i])>0)
					{
			            suma+=parseInt(valor[i]);
			        }
		        }
		        document.getElementById("resultadoSuma").innerHTML="La Suma de los valores de "+valor+" es: "+suma;
		    }
 
		</script>
	</head>
 
	<body>
		<input name="numeros" type="text" id="text">
		<div id="resultadoSuma"></div>
		<button type="submit" value="Submit" id="btn" onclick="sumar(text.value);">Enviar</button>
	</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda: Sumar digitos input

Publicado por Iván (6 intervenciones) el 04/02/2018 20:51:44
Hola, gracias por responder, funciona bien, pero yo pretendía que si la suma da por ejemplo 15, volver a sumar siempre los dígitos hasta que de uno sólo. Mi objetivo es recibir una fecha y sumar sus dígitos hasta que termine siendo uno.

Agradezco tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar