Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
Estou com problema em um código javascript, estou querendo passar um argumento cada vez que o usuário teclar através do onkeyup, só que tem um porém, quando o usuário teclar, irá iniciar um contador de 5 segundos por exemplo, e passado estes 5 segundos ele irá executar uma ação chamando uma função para enviar os dados que foram digitados, caso contrário, ele pressionar uma tecla qualquer que seja durante a contagem, o contador iniciará tudo de novo em 5 segundos, mas mesmo quando terminava a contagem em que ele mandava os dados, o usuário poderia digitar novamente, e aí iniciar novamente a contagem.
<script type="text/javascript">
var c=5;
var t;
function contarTempo(){
if(document.getElementById("busca").onkeyup == true){
clearTimeout(t);
c = 5;
t=setTimeout("contarTempo()",1000);
}else{
if(c != 0){
document.getElementById('tempo').innerHTML=c;
c=c-1;
document.getElementById('txt').innerHTML="";
t=setTimeout("contarTempo()",1000);
}else if(c == 0){
document.getElementById('txt').innerHTML="esgotado";
c = 5;
noticia(formulario); // enviar os dados
}
}
}
var formulario;
function doTimer(form){
formulario = form;
contarTempo();
}
</script>
<input type="text" name="busca" id="busca" onkeyup=" doTimer(this.value);" />
<span id="tempo"></span><br />
<span id="txt"></span><br /><br />
As impressões de tempo e se está esgotado é apenas pra verificar.
Carregando comentários...