Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2011, 15:52
Avatar de schulz
schulz
 
Fecha de Ingreso: diciembre-2010
Ubicación: Santiago
Mensajes: 22
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta script solo funciona en IE

Saludos maestros, quería ver si pueden ayudarme, después de crear este tema http://www.forosdelweb.com/f13/campo-texto-con-js-907441/
me puse a investigar sobre lo que me indicó maycolalvarez y me topé este script que hace algo muy similar a lo que necesito (necesito que en un campo de texto solo se pueda ingresar numeros de esta forma 99.99 ) este script lo que hace es permitir números similares a lo que necesito solamente que el ingreso que permite hacer es infinito me explico puedo escribir números de esta forma 222222infinitamente.22, osea luego de poner el punto solo permite dos decimales(lo que está bien) lo que me gustaría hacer es que antes del punto solo se puedan ingresar dos números.
El otro problema es que el código solo sirve en IE ya lo probé en FF y chrome.
Que debo hacer para que sea estándar en cualquier navegador?
Soy novato en JS pero con muchas ganas de aprender.

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. <!--
  3. function fieldNumber (objeto)
  4. {
  5. var valorCampo;
  6. var evento_key = window.event.keyCode;
  7. var numPosPunto = 0;
  8. var strParteEntera = "";
  9. var strParteDecimal = "";
  10. var NUM_DECIMALES = 2;
  11.  
  12. switch (evento_key)
  13. {
  14. case 48:
  15. case 49:
  16. case 50:
  17. case 51:
  18. case 52:
  19. case 53:
  20. case 54:
  21. case 55:
  22. case 56:
  23. case 57:
  24. case 46:
  25. break;
  26. default:
  27. window.event.keyCode = 0;
  28. return false;
  29. }
  30.  
  31. valorCampo = objeto.value;
  32. if (evento_key == 46)
  33. if (valorCampo.indexOf(".") != -1)
  34. {
  35. window.event.keyCode = 0;
  36. return false;
  37. }
  38. /* Sólo puede teclear el número de decimales indicado en NUM_DECIMALES */
  39. if ((numPosPunto = valorCampo.indexOf(".")) != -1)
  40. {
  41. strParteEntera = valorCampo.substr(0,(numPosPunto - 1));
  42. strParteDecimal = valorCampo.substr((numPosPunto + 1), valorCampo.length)
  43. if (strParteDecimal.length > (NUM_DECIMALES - 1))
  44. {
  45. window.event.keyCode = 0;
  46. return false;
  47. }
  48. }
  49. return true;
  50. }
  51.  
  52. //-->
  53. </script>

Código HTML:
<body>

<input type="text" name="txtImporte" onkeypress="fieldNumber(this)"> 
</body> 
Saludos y suerte.