JavaScript - temporizador, por favor es urgente!!

 
Vista:

temporizador, por favor es urgente!!

Publicado por maria (3 intervenciones) el 10/11/2008 12:18:26
Hola.
Necesito hacer un temporizador que controle que al escribir en un campo de texto haga una llamada a una funcion de javascript pasados 4 segundos desde la ultima vez que pulso una tecla.
La idea es ejecutar la funcion solo si han pasados 4 segundos despues de la ultima pulsacion
var retardo = "";
function temporizador(elemento, nombreElemento) {
if (retardo(elemento, nombreElemento)) {
.... //continuo con la funcion
}
}

function calculaRetardo(elemento, nombreElemento){
var momentoActual = new Date();
var hora = momentoActual.getHours();
var minuto = momentoActual.getMinutes();
var segundo = momentoActual.getSeconds();
horaActual = hora + ":" + minuto + ":" + segundo;
if (retardo == "") {
retardo = horaActual;
return false;
} else {
var diferencia = calculaDiferencia(horaActual, retardo);
var sg = parseInt(diferencia.substring(6,8));
if (sg > 4) {
retardo = "";
return true;
} else {
setTimeout("temporizador(" + elemento + ", " + nombreElemento + ")",4000);
}
}
}

El problema viene al ejecutar el setTimeout ya que me da un error de que el valor en ese instante de la variable elemento no esta definido, es decir, si por ejemplo en ese momento elemento que es un string vale "cliente" me da un error de javascript con 'cliente' no esta definido. supongo que el problema estara en el modo de pasarle los parametros a la funcion pero he probado de todas las formas posibles y me sigue dando el mismo error.
Alguna idea??
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder