Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2011, 18:08
3rps
 
Fecha de Ingreso: diciembre-2010
Mensajes: 51
Antigüedad: 13 años, 5 meses
Puntos: 2
Exclamación Como puede ser que no funcione en firefox

Hola que tal gente de FDW.

Mi problema es el siguiente: estoy empezando a hacer una calculadora en javascript usando en parte jquery.
Por ahora la funcionalidad sería la siguiente:
- Hay 2 inputs number
- Cuando en el primero se aprieta "+","-","*", ó "/" se escribe el signo presionado entre el espacio de los dos inputs
- Por último hace un .focus() en el segundo input. (Esto no funciona en firefox no porque sea un bug sino porque "es un privilegio" que tienen los usuarios de firefox)

Lo pueden ver online aquí: http://planeta3d.net/calc_prueba/
Si no quieren ver el codigo de fuente, aquí se los dejo:
Código Javascript:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
  6.         <script type="text/javascript">
  7.         $(document).ready(function() {
  8.            
  9.             $('#a').keypress(function() {
  10.             var key_code = window.event.keyCode;
  11.             switch (key_code) {
  12.                 case 43:
  13.                 // +
  14.                 var operando = ' + ';
  15.                 event.preventDefault();
  16.                 $('#b').focus();
  17.                 break
  18.                 case 45:
  19.                 // -
  20.                 var operando = ' - ';
  21.                 $('#b').focus();
  22.                 event.preventDefault();
  23.                 break
  24.                 case 42:
  25.                 // *
  26.                 var operando = ' * ';
  27.                 $('#b').focus();
  28.                 event.preventDefault();
  29.                 break
  30.                 case 47:
  31.                 // /
  32.                 var operando = ' / ';
  33.                 $('#b').focus();
  34.                 event.preventDefault();
  35.                 break
  36.                 default:
  37.                 var operando = '&nbsp;'
  38.                 break
  39.             }
  40.             $('.operando').html(operando);
  41.             });
  42.             $('#form').submit(function() {
  43.                 event.preventDefault();
  44.                 document.write('probando');
  45.             });
  46.         });
  47.         </script>
  48.         <style type="text/css">
  49.             #a, .operando {
  50.                 float: left;
  51.             }
  52.             .operando {
  53.                 padding-right: 4px;
  54.             }
  55.         </style>
  56.         <title>Calc</title>
  57.     </head>
  58.     <body>
  59.         <form method="post" action="index.php" id="form">
  60.             <input type="number" name="a" size="20" id="a"  />
  61.             <div class="operando"> </div>
  62.             <input type="number" name="b" size="20" id="b"  />
  63.             <input type="submit" name="submit" id="submit"  />
  64.         </form>
  65.     </body>
  66. </html>

Por favor fígense con cualquier navegador, inclusive con IE 7 .
Si en firefox les funciona, háganmelo saber por favor.
Desde ya, gracias
Saludos