Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/11/2012, 15:13
Avatar de bryanas2smr2010
bryanas2smr2010
 
Fecha de Ingreso: noviembre-2012
Mensajes: 6
Antigüedad: 12 años
Puntos: 0
Pregunta Evento onkeyPress()

Hola amigos mi duda es si puedo retornar dos valores en el evento onkeyPress
no hace falta que vean el codigo de las dos funciones porque funcionan pero lo pongo porsiacaso.

Funcion permite:sirve para introducir solo numeros caracteres o ambos.
Funcion limita: sirve para limitar el numero de caracteres introducidos.

El objetivo es que en la caja de texto solo se puedan escribir letras y que ademas sólo sean 20 caracteres.(se trata de validarlo ya que esta en un formulario).

Mi problema es que en el textarea no se llamar a las dos funciones en el evento onkeypress QUIERO QUE SE EJECUTEN LAS DOS FUNCIONES , si me funciona si solo pongo una funcion pero como las dos funciones retornan un valor entonces al ponerlos juntos no me funcionan.Porfavor haber si me pueden ayudar. Si hay una manera de poder hacerlo. Muchas Gracias!!

<script type="text/javascript">

function permite(elEvento, permitidos) {
// Variables que definen los caracteres permitidos
var numeros = "0123456789";
var caracteres = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUV WXYZ";
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;
}

function limita(maximoCaracteres) {
var elemento = document.getElementById("texto");
if(elemento.value.length >= maximoCaracteres ) {
return false;
}
else {
return true;
}
}
</script>

<body>
<textarea id="texto" onkeypress="return permite(event, 'car');return limita(20);"></textarea>
</body>