Tema: solo numeros
Ver Mensaje Individual
  #8 (permalink)  
Antiguo 06/11/2015, 10:32
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: solo numeros

Cuando usas JavaScript en línea (código JavaScript insertado en el archivo HTML) en HTML, a excepción del atributo href de un enlace, ya no es necesario el "javascript:". Por otro lado, no veo necesario el retorno de algún valor desde la función si tan solo vas a cancelar el evento.

¿Cómo debería ser?

Como consejo, ten cada código separado. El código HTML, en un archivo HTML. El código CSS, en un archivo CSS y el código JavaScript, en un archivo JS. Si eres de los que incluye al bloque de código JS (que también es trabajar con JS en línea) o al archivo externo JS en la cabecera del documento, debes de ejecutar tu script luego de haber cargado el DOM, es decir, los elementos del documento HTML (mas no el contenido multimedia que pudiera haber). Esto ocurre cuando se produce el evento DOMContentLoaded. Para registrar un evento, utiliza el método .addEventListener().

Código Javascript:
Ver original
  1. document.addEventListener("DOMContentLoaded", function(){
  2.     //Instrucciones
  3. }, false);

Si incluyes al archivo JS al final del documento (después de todos los elementos y antes de la etiqueta </body>), lo anterior no será necesario.

En la función anónima que se ejecutará luego de haber cargado el DOM, irá el conjunto de instrucciones a ejecutar. Empezamos por tomar a la caja de texto, para lo cual debemos de utilizar un método selector, por ejemplo, el método .querySelector().

Código Javascript:
Ver original
  1. var input = document.querySelector("[name=c_valor]");

De esta manera, tomo al elemento del documento cuyo nombre sea "c_valor".

Una vez tomado el elemento, registro en él al evento keypress y, de la misma forma que sucedió con la carga del DOM, ejecutaremos una función anónima.

Código Javascript:
Ver original
  1. input.addEventListener("keypress", function(e){
  2.     //Instrucciones
  3. }, false);

El primer argumento que recibe toda función asociada a un evento, siempre será el objeto del evento, el cual debe de ser especificado siempre al principio de la lista de argumentos que se le pasan a la función. Puede estar representado por cualquier letra o palabra no reservada por el lenguaje.

Por último, las instrucciones que deberás de ejecutar en la función anónima asociada al evento que se registró en la caja de texto, son las que te expliqué en mi anterior comentario. Solo tienes que añadirlas.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand