Haciendo click a los botones funciona, pero cuando con el teclado escribes la operación y le das a Enter, la operación desaparece y no sale el resultado.
Lo que quiero es que al dar al Enter pase lo mismo que cuando le doy con el ratón en el botón de Resultado: que me muestre el resultado.
He estado mirando y el código de Enter con JavaScript es 13.
Les dejo el código haber si me pueden ayudar.
Gracias.
Código:
<html> <head> <title>Calculadora</title> <link rel="stylesheet" type="text/css" href=".css"> <!--Script Calculadora--> <script type="text/javascript"> function addChar(input, character) { if(input.value == null || input.value == "0") input.value = character else input.value += character } function deleteChar(input) { input.value = input.value.substring(0, input.value.length - 1) } function changeSign(input) { // could use input.value = 0 - input.value, but let's show off substring if(input.value.substring(0, 1) == "-") input.value = input.value.substring(1, input.value.length) else input.value = "-" + input.value } function compute(form) { form.display.value = eval(form.display.value) } function square(form) { form.display.value = eval(form.display.value) * eval(form.display.value) } function checkNum(str) { for (var i = 0; i < str.length; i++) { var ch = str.substring(i, i+1) if (ch < "0" || ch > "9") { if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "(" && ch!= ")") { alert("invalid entry!") return false } } } return true } </script> </head> <body> <form> <table border="5" align=center> <tr align="center"> <td colspan = 4> <table border="3"> <tr> <td align=center> <!--Input Resultado--> <input name="display" value="" size=20 autofocus></td> </tr> </table> </td> </tr> <tr align=center> <td> <input type="button" value=" 7 " onClick="addChar(this.form.display, '7')"> </td> <td> <input type="button" value=" 8 " onClick="addChar(this.form.display, '8')"> </td> <td> <input type="button" value=" 9 " onClick="addChar(this.form.display, '9')"> </td> <td> <input type="button" value=" / " onClick="addChar(this.form.display, '/')"> </td> </tr> <tr align=center> <td> <input type="button" value=" 4 " onClick="addChar(this.form.display, '4')"> </td> <td> <input type="button" value=" 5 " onClick="addChar(this.form.display, '5')"> </td> <td> <input type="button" value=" 6 " onClick="addChar(this.form.display, '6')"> </td> <td> <input type="button" value=" * " onClick="addChar(this.form.display, '*')"> </td> </tr> <tr align=center> <td> <input type="button" value=" 1 " onClick="addChar(this.form.display, '1')"> </td> <td> <input type="button" value=" 2 " onClick="addChar(this.form.display, '2')"> </td> <td> <input type="button" value=" 3 " onClick="addChar(this.form.display, '3')"> </td> <td> <input type="button" value=" - " onClick="addChar(this.form.display, '-')"> </td> </tr> <tr align=center> <td> <input type="button" value=" 0 " onClick="addChar(this.form.display, '0')"> </td> <td> <input type="button" value=" . " onClick="addChar(this.form.display, '.')"> </td> <td> <input type="button" value=" +/- " onClick="changeSign(this.form.display)"> </td> <td> <input type="button" value=" + " onClick="addChar(this.form.display, '+')"> </td> </tr> <tr align=center> <td> <input type="button" value=" ( " onClick="addChar(this.form.display, '(')"> </td> <td> <input type="button" value=" ) " onClick="addChar(this.form.display, ')')"> </td> <td> <input type="button" value=" sq " onClick="if (checkNum(this.form.display.value)) { square(this.form) }"> </td> <td> <input type="button" value=" <- " onClick="deleteChar(this.form.display)"> </td> </tr> <tr align=center> <td colspan="2"> <!--Botón de resultado--> <input type="button" value=" Resultado " name="enter" onClick="if (checkNum(this.form.display.value)) { compute(this.form) }"> </td> <td colspan="2"> <input type="button" value=" C " onClick="this.form.display.value = 0 "> </td> </tr> </table> </form> </body> </html>