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 originaldocument.addEventListener("DOMContentLoaded", function(){
//Instrucciones
}, 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 originalvar 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 originalinput.addEventListener("keypress", function(e){
//Instrucciones
}, 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