El cuento es que creo un input de este tipo:
Código:
var input1 = document.createElement("input");
input1.name = "valor";
input1.id = "valor";
input1.type = "text";
input1.value = "0";
Y tengo esta función:
Código:
function validaTecla(elEvento, permitidos) {
// Variables que definen los caracteres permitidos
var numeros = "0123456789";
var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
var numeros_caracteres = numeros + caracteres;
var teclas_especiales = [8, 37, 39, 46];
// 8 = BackSpace, 46 = Supr, 37 = flecha izquierda, 39 = flecha derecha
// Seleccionar los caracteres a partir del parámetro de la función
switch(permitidos) {
case "num":
permitidos = numeros;
break;
case "car":
permitidos = caracteres;
break;
case "num_car":
permitidos = numeros_caracteres;
break;
}
// Obtener la tecla pulsada
var evento = elEvento || window.event;
var codigoCaracter = evento.charCode || evento.keyCode;
var caracter = String.fromCharCode(codigoCaracter);
// Comprobar si la tecla pulsada es alguna de las teclas especiales
// (teclas de borrado y flechas horizontales)
var tecla_especial = false;
for(var i in teclas_especiales) {
if(codigoCaracter == teclas_especiales[i]) {
tecla_especial = true;
break;
}
}
// Comprobar si la tecla pulsada se encuentra en los caracteres permitidos
// o si es una tecla especial
return permitidos.indexOf(caracter) != -1 || tecla_especial;
}
Al input quiero agregarle esa función, lo hago de esta forma, pero no me resulta:
Código:
input1.onkeypress = function(event) {validaTecla(event,"num");}
La función me resulta si la agrega de la forma normal, es decir, en los input creados con HTML, pero no los creados desde Javascript.
De antemano gracias.