no he intentado el codigo pero haz los siguientes cambios:
- primero, creo que no todos los navegadores admite eventos para los elementos HTMLOptions por lo cual lo correcto es utilizar
onchange en elementos HTMLSelect. en este evento llamaras una de las funciones,
changeNum o changeLet segun la seleccion:
Código:
<select onchange="
if(this.value == 'V')changeNum();
else changeLet();
">
...
</select>
- segundo, la declaracion de los eventos
onkeypress estan mal formado. los evento no son mas que otra cosa que funciones, o bien metodos de un elemento, con la particular caracteristica de que se ejecutan cuando cierta accion sucede. suele ser confuso como se declara un evento inline y eventos en el script. pues de momento se entiende que los eventos son string por estar contenido dentro de comillas simples o dobles, pero no es cierto para eventos declarados en el script:
Código:
declaracion inline
<input ... onkeypress="..." />
declaracion en un script
document.getElementById("prof_cod").onkeypress="return Num(event)";
en el segundo caso, estas asignando literalmente un string al evento
onkeypress el cual produce
nada, pues un string es un string, no una funcion que luego se ejecuta. el siguiente codigo es una de las alternativas para declarar un evento:
Código:
document.getElementById("prof_cod").onkeypress= function(evt){
var evt = evt || event;
return Num(evt);
}