Un 10 para tí.
Sí, se me olvidó decir que el problema era con Firefox. Pero con tu código funciona perfectamente en cualquier navegador.
Una cuestión, he probado a quitar las líneas en negrita y funciona también, ¿ no son necesarias verdad ?
Código:
// document.getElementById abreviado
function $(x) { return document.getElementById(x); }
function letras1(evt) {
var tecla = (document.all) ? event.keyCode : evt.which;
if ( (tecla==8) || (tecla==0) ) return true;
var patron =/[A-Z ÁÀÉÈÍÌÓÒÚÙ´`ÑÇ]/i;
var te = String.fromCharCode(tecla);
return patron.test(te);
}
$("caja").onkeypress = letras1;
Muchas gracias derkenuke, usuarios como tú hacen grande al foro.