JavaScript - Problema con los IF

   
Vista:

Problema con los IF

Publicado por Manuel (10 intervenciones) el 16/02/2009 12:45:21
Hola a todos, soy Manolo y tengo 13 años. El problema es el siguiente: leí en una revista que el numero de la suerte de una persona se puede calcular sumando las cifras de su fecha de nacimiento. Por ej.:
19 Agosto 1974 = 19 08 1974 = 1+9+0+8+1+9+7+4 = 39.
No pueden quedar dos cifras, solo una. Entonces 3+9= 12. Ahora, 1+2 = 3
Ese es el numero de la suerte de esta persona en especifico. Así que me propuse a hacer un script. Creo que el error esta en los IFs. Por favor, no me digais como puedo ahorrar codigo, solo donde y como me he equivocado y ya lo corrijo :)

<html>
<head>
<title>Número de la suerte</title>
<script type="text/javascript">
function numerosuerte()
{
//Aquí se declaran las variables
a = eval(document.form1.a.value)
b = eval(document.form1.b.value)
c = eval(document.form1.c.value)
d = eval(document.form1.d.value)
e = eval(document.form1.e.value)
f = eval(document.form1.f.value)
g = eval(document.form1.g.value)
h = eval(document.form1.h.value)
//Se suman las variables
todo = a+b+c+d+e+f+g+h;
if(todo='10') {todo==1}
else
if(todo='11') {todo==2}
else
if(todo='12') {todo==3}
else
if(todo='13') {todo==4}
else
if(todo='14') {todo==5}
else
if(todo='15') {todo==6}
else
if(todo='16') {todo==7}
else
if(todo='17') {todo==8}
else
if(todo='18') {todo==9}
else
if(todo='19') {todo==1}
else
if(todo='20') {todo==2}
else
if(todo='21') {todo==3}
else
if(todo='22') {todo==4}
else
if(todo='23') {todo==5}
else
if(todo='24') {todo==6}
else
if(todo='25') {todo==7}
else
if(todo='26') {todo==8}
else
if(todo='27') {todo==9}
else
if(todo='28') {todo==1}
else
if(todo='29') {todo==2}
else
if(todo='30') {todo==3}
else
if(todo='31') {todo==4}
else
if(todo='32') {todo==5}
else
if(todo='33') {todo==6}
else
if(todo='34') {todo==7}
else
if(todo='35') {todo==8}
else
if(todo='36') {todo==9}
else
if(todo='37') {todo==1}
else
if(todo='38') {todo==2}
else
if(todo='39') {todo==3}
else
if(todo='40') {todo==4}
else
if(todo='41') {todo==5}
else
if(todo='42') {todo==6}
else
if(todo='43') {todo==7}
else
if(todo='44') {todo==8}
else
if(todo='45') {todo==9}
else
if(todo='46') {todo==1}
else
if(todo='47') {todo==2}
else
if(todo='48') {todo==3}
else
if(todo='49') {todo==4}
else
if(todo='50') {todo==5}
else
if(todo='51') {todo==6}
else {document.write('Se ha producido un error')}
//Se imprime el número en un textarea
document.form1.numero.value = "Tu número de la suerte es el "+todo
}
</script>
</head>
<body>
<form name="form1">
Introduce en cada caja el numero de tu fecha<br> de nacimiento correspondiente. Por ejemplo: <br><br><b>9 de Febrero de 1979</b> sería <b>09 / 02 / 1979</b><br><br>
<input class="texto" type="text" value="" id="a" size="1" maxlength="1">
<input class="texto" type="text" value="" id="b" size="1" maxlength="1"> /
<input class="texto" type="text" value="" id="c" size="1" maxlength="1">
<input class="texto" type="text" value="" id="d" size="1" maxlength="1"> /
<input class="texto" type="text" value="" id="e" size="1" maxlength="1">
<input class="texto" type="text" value="" id="f" size="1" maxlength="1">
<input class="texto" type="text" value="" id="g" size="1" maxlength="1">
<input class="texto" type="text" value="" id="h" size="1" maxlength="1"><br>
<input type="button" value="Calcular tu número" onclick=numerosuerte()><br><br><br>
<input type="textarea" style="width: 300px; height: 100px;" id="numero" class="textarea" readonly>
</form>
</body>
</html>
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

Aviso...

Publicado por Manuel (10 intervenciones) el 16/02/2009 12:48:49
Por cierto, creo que no se puede sacar más de 50 al hacer la suma, sea la fecha que sea. Por eso he hecho hasta 51
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
Imágen de perfil de ScriptShow

RE:Problema con los IF

Publicado por ScriptShow (387 intervenciones) el 16/02/2009 14:24:35
Saludos Manuel.

En primer lugar permíteme que te felicite por tus desarrollos e interés en el tema. Te auguro un buen futuro en esto de la programación web. ¡Ánimo!.

Fíjate en los signos. Ahí está la clave.

signo para igual que ==
signo para mayor que >
signo para menor que <
signo para mayor ó igual que >=
signo para menor ó igual que <=
signo para no es igual que !=

De modo es que, para: if(todo=='XX'){todo=X} la primera COMPARA, la segunda ASIGNA un valor a la variable.

Otro detalle es:

else {document.write('Se ha producido un error'); return}

fíjate en el return, evita que el script continúe y dé un error al escribir en el campo de texto fuera de la ejecución.

Espero sea útil.

A tu disposición. ¡Mucha suerte!.
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

Gracias

Publicado por Manolo (10 intervenciones) el 16/02/2009 16:42:51
ScriptShow, muchas gracias por tus ánimos, me gas sido de gran ayuda. También muchas gracias por la aclaracíón, hasta antes de leer tu respuesta no diferenciaba del '=' y del '=='.
:)
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