Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2014, 15:48
dfmex
 
Fecha de Ingreso: octubre-2008
Mensajes: 147
Antigüedad: 16 años, 2 meses
Puntos: 3
Pregunta Alguna técnica delay eficiente para un input?

Hola que tal!!!

Tengo un problema al tratar de hacer funcionar un evento a raíz de un input

Sucede que tengo un campo de texto:

Código:
<input type="password" name="AutoUser" id="AutoUser" size="60" onKeyUp="ActivarTiempo();" autocomplete="off" placeholder="Escribir" />
Como verán, al escribir en el campo se activa la funcion Java "ActivarTiempo();" la cual es la siguiente:

Código:
function ActivarTiempo(){
		setTimeout("Desactivado();",1500);
	}
Esto hace que se active la función "Desactivado()" pasando 1.5 segundos... y la función desactivado es:

Código:
function Desactivado(){
			document.getElementById('AutoUser').disabled = true;
		}
Y en resumen cuando escribes una tecla se desactiva el campo donde estas escribiendo tras 1.5 segundo, pero el problema es este:

Yo lo que quiero es que si quiero escribir: "HOLA ESTE ES UN TEXTO UN POCO LARGO PARA QUE LO ESCRIBA EN MENOS DE 1.5 SEGUNDOS" debido a que no lo escribo TAN RÁPIDO el campo de texto se desactiva tras 1.5 Segundos de presionar la primer tecla, y yo lo que quiero es que se desactive a los 1.5 segundos tras escribir la última tecla, pero por ejemplo mientras estés escribiendo que no se desactive, algo así como "contar inactividad a partir de la última tecla escrita"

De tal forma que si escribo "HOLA" y no escribo más después de 1.5 segundos pase el evento, de otro modo si escribo "HOLA ESTE ES UN TEXTO UN POCO LARGO PARA QUE LO ESCRIBA EN MENOS DE 1.5 SEGUNDOS" se desactive al pasar 1.5 segundos tras escribir la S que es la última letra del texto...


¿Alguien tendría alguna idea de cómo podría resolver esto?

Última edición por dfmex; 02/05/2014 a las 15:49 Razón: Corrección de Ortografía