Iniciar função atráves do onClick
Boa Tarde Amigos.
Minha questão é o seguinte, possuo um script que fica lendo um .log basicamente em tempo real e o mostra em tela, mas a questão é que ele inicia com o DOM, gostaria que ele iniciasse apenas a partir do click no botão, poderiam me ajudar ??
Minha questão é o seguinte, possuo um script que fica lendo um .log basicamente em tempo real e o mostra em tela, mas a questão é que ele inicia com o DOM, gostaria que ele iniciasse apenas a partir do click no botão, poderiam me ajudar ??
<?php if (isset($_GET['ajax'])) { $sessionID = 'log'.$_GET['s']; session_id($sessionID); session_start(); $handle = fopen('/\\\\\\\\\\\\\\\\cordas\\\\\\\\instance-8480\\\\\\\\log\\\\\\\\server.log', 'r'); if (isset($_SESSION['offset'])) { $data = stream_get_contents($handle, -1, $_SESSION['offset']); echo nl2br($data); } else { fseek($handle, 0, SEEK_END); } $_SESSION['offset'] = ftell($handle); exit(); } $randomSession = rand(); ?> $(document).ready(function( ) { $('.log-btn').on("click", function()) { $.repeat(1000, function() { $.get('automacao_tela.php?ajax&s=<?=$randomSession;?>', function(data) { $('#tail').append(data); }); }); }); <form action="?automacao=ok" method="POST"> <button type="submit" class="log-btn" id="iniciar" >INICIAR PROCESSO</button> </form>
Matheus Delre
Curtidas 0
Respostas
Fernando Gaspar
28/07/2017
Fala Matheus beleza brother?
O código acima é o mesmo que você esta testando, caso seja, inserira as tags <script> e </script> no inicio e no final do código.
Outra coisa que pode fazer para verificar o comportamento é abaixo da função é comentar o código que realiza a execução e inserir um console.log('teste'); ao analisar no inspecionador de elementos na aba console o mesmo só deve escrever a mensagem 'teste' com clicar no botão "INICIAR PROCESSO".
Outra coisa que percebi, é que quando você clica no botão o evento de submit é disparado, você vai precisar criar o evento prevent.default e alguns fechamentos de tag estão fora de ordem.
segue a sugestão de código:
Depois posta aí o que rolou, abraços!
O código acima é o mesmo que você esta testando, caso seja, inserira as tags <script> e </script> no inicio e no final do código.
Outra coisa que pode fazer para verificar o comportamento é abaixo da função é comentar o código que realiza a execução e inserir um console.log('teste'); ao analisar no inspecionador de elementos na aba console o mesmo só deve escrever a mensagem 'teste' com clicar no botão "INICIAR PROCESSO".
Outra coisa que percebi, é que quando você clica no botão o evento de submit é disparado, você vai precisar criar o evento prevent.default e alguns fechamentos de tag estão fora de ordem.
segue a sugestão de código:
$(document).ready(function() { $('.log-btn').on("click", function(e) { e.preventDefault(); $.repeat(1000, function() { $.get('automacao_tela.php?ajax&s=<?=$randomSession;?>', function(data) { $('#tail').append(data); }); }); }); });
Depois posta aí o que rolou, abraços!
GOSTEI 0
Fabio Rocha
28/07/2017
Matheus,
Como vai, para voce criar um uma ação que fique se repetindo você pode utilizar o setInterval do JavaScript, segue código abaixo de exemplo.
Este código vai ser acionado quano o botao for clicado, outra coisa quando for fazer uma solicitação Ajax de preferencia em ler estas informações de um arquivo isolado que somente vai retornar o que você quer em vez de colocar tudo no mesmo código.
Exemplo: pagina_parasolicitar.php, pagina_automacao_tela.php
Grande Abraço
Como vai, para voce criar um uma ação que fique se repetindo você pode utilizar o setInterval do JavaScript, segue código abaixo de exemplo.
<button type="button" class="log-btn" id="iniciar" >INICIAR PROCESSO</button> <script> $(document).ready( function( ) { $('.log-btn').on("click", function(){ setInterval(function(){ $.get( "automacao_tela.php?ajax", function( data ) { $('#tail').append(data); }); }, 3000); }); }); </script>
Este código vai ser acionado quano o botao for clicado, outra coisa quando for fazer uma solicitação Ajax de preferencia em ler estas informações de um arquivo isolado que somente vai retornar o que você quer em vez de colocar tudo no mesmo código.
Exemplo: pagina_parasolicitar.php, pagina_automacao_tela.php
Grande Abraço
GOSTEI 0