atualizar campo de x em x segundos

(Agostinho) #1

Existe alguma forma de atualizar um campo via ajax de x em x segundos na tela usando controle?, ja procurei pelo campo timeout em ferramentas/opções mas o mesmo nao existe e preciso disto, alguma dica por favor?

(Haroldo) #2

andei postando aqui um exemplo deste tipo:

http://iw.servehttp.com/sc/iw/app/Publico/Teste_relogio/Teste_relogio.php.

Método javascript: relogio

//criamos a variavel objeto momentoAtual, que contera a data e hora atual
var momentoAtual = new Date();
 
//Pegamos em variaveis separadas, hora, minuto e segundo


var hora = momentoAtual.getHours();
var minuto = momentoAtual.getMinutes();
var segundo = momentoAtual.getSeconds();
 
//verificamos se segundo, minuto e hora é menor que 9 se for concatenamos adicionando um zero a esquerda

if(segundo<=9) {
segundo = '0'+segundo;
}
if(minuto<=9) {
minuto = '0'+minuto;
}


horaImprimivel =hora +':'+minuto+':'+segundo+' <div style="width: '+segundo+'%; height:20px;border: 1px solid #E78F08; vertical-align: middle; text-align:center; background-color: #E78F08;color: White ;font-weight: bold;">'+segundo+'%</div>'; 


segundo = Math.round(momentoAtual.getSeconds()+(momentoAtual.getSeconds()*0.66))

;
progressbar_value='<div style="width: '+segundo+'%; height:20px;border: 1px solid #E78F08; text-vertical-align: middle; text-align:center; background-color: #E78F08;color: White ;font-weight: bold;">'+segundo+'%</div>'; 
//utilizando jquery exibimos no span de id relogio o relogio

$('#_relogio').html(horaImprimivel);
$('#progressbar2').html(progressbar_value);

$.ajax({
 url:"processado.txt",

 success:function(data){

 //alert(data);

if (data!="FIM") {
    htmlcodigo='<div style="width: '+data+'%; height:20px;border: 1px solid blue; text-vertical-align: middle; text-align:center; background-color: blue;color: White ;font-weight: bold;">'+data+'%</div>'; 
    $('#progressbar4').html(htmlcodigo);
}
    

 }

})



setTimeout('relogio()',1000); 

Evento Onload:

echo "<script>
$(document).ready(function(){
      relogio();
});
</script>";
  • Antes de postar, faça sempre uma pesquisa no forum, pois diversas soluções já foram postadas.
(Agostinho) #3

Obrigado pelo seu retorno Haroldo, como sempre nos auxiliando, muito grato, implementei o código que vc me passou e criou o campo label _relogio, o mesmo funcionou perfeito.