Soy novato en esto del JavaScript y mi primer "reto" es esta calculadora, pero, por mucho que me lo miro no se donde debe estar el error. Basicamente, mi error es que cuando hago alguna operacion, cuando le doy a "igual" me devuelve "NaN". Vamos, que no se que mas cambiar, jeje. Alguna ayudita? jeje
Gracias!!
Código HTML:
<html> <head> <title>CALCULADORA EN JS</title> <script language="javascript"> var calculo = ""; var op = ""; var resu2 = ""; function intro(intr){ fcalcu.resu.value = fcalcu.resu.value + intr; resu2 = resu2 + intr; } function sumar(s1) { calculo = eval(calculo) + eval(resu2); fcalcu.resu.value = ""; resu2 = ""; op = "SUMA"; } function restar(s2) { calculo = calculo - eval(resu2); fcalcu.resu.value = ""; resu2 = ""; op = "RESTA"; } function multi(s3) { calculo = calculo * eval(resu2); fcalcu.resu.value = ""; resu2 = ""; op = "MULTIPLICACION"; } function dividir(s4) { calculo = calculo / eval(resu2); fcalcu.resu.value = ""; resu2 = ""; op = "DIVISION"; } function mostrar(igu){ switch(op) { case "SUMA": calculo = calculo + eval(resu2); resu2 = ""; fcalcu.resu.value = calculo; break; case "RESTA": calculo = calculo - eval(resu2); resu2 = ""; fcalcu.resu.value = calculo; break; case "MULTIPLICACION": calculo = calculo * eval(resu2); resu2 = ""; fcalcu.resu.value = calculo; break; case "DIVISION": calculo = calculo / eval(resu2); resu2 = ""; fcalcu.resu.value = calculo; break; } } function borra(){ fcalcu.resu.value = ""; resu2 = ""; calculo = ""; op = ""; } </script> </head> <body> <h1>Calculadora JS </h1> <form name="fcalcu"> <input type="text" name="resu" maxlenght="10" readonly><br> <input type="button" name="n1" value="1" onclick="intro(fcalcu.n1.value)"><input type="button" name="n2" value="2" onclick="intro(fcalcu.n2.value)"><input type="button" name="n3" value="3" onclick="intro(fcalcu.n3.value)"><br> <input type="button" name="n4" value="4" onclick="intro(fcalcu.n4.value)"><input type="button" name="n5" value="5" onclick="intro(fcalcu.n5.value)"><input type="button" name="n6" value="6" onclick="intro(fcalcu.n6.value)"><br> <input type="button" name="n7" value="7" onclick="intro(fcalcu.n7.value)"><input type="button" name="n8" value="8" onclick="intro(fcalcu.n8.value)"><input type="button" name="n9" value="9" onclick="intro(fcalcu.n9.value)"><br> <input type="button" name="" value="-"><input type="button" name="n0" value="0" onclick="intro(fcalcu.n0.value)"><input type="button" name="" value="-"><br> <input type="button" value="SUMAR" onclick="sumar(resu2)"><input type="button" value="RESTAR" onclick="restar(resu2)"><br> <input type="button" value="MULTIPLICAR" onclick="multi(resu2)"><input type="button" value="DIVIDIR" onclick="dividir(resu2)"><br> <input type="button" value="IGUAL" onclick="mostrar(resu2)"><input type="button" value="Borrar" onclick="borra()"> </form> </body> </html>