Biel. Posted February 10, 2013 at 02:06 AM Report #494774 Posted February 10, 2013 at 02:06 AM (edited) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="refresh" content="5; URL=http://www.meusite/contato.php" /> <title>Documento sem título</title> </head> <body> <form action="formulario.php" method="post" name="formulario"> <input type="submit" name="enviar" id="enviar" value="Enviar" /> </form> </body> </html> Bom dia a todos. Pessoal gostaria de um auxilio na seguinte questão: Como faço para deixar o botão enviar no piloto automático? Ou seja: Quero que o formulário seja enviado automaticamente a cada 10 segundos sem eu precisar ficar clicando nele toda vez que eu quiser mandar email. OBS: acima já tem <meta http-equiv="refresh" content="5; URL=http://www.meusite/contato.php" /> Toda vez que eu clico no botão Enviar, apareçe uma página que criei com o nome de http://www.meusite/dados_enviado.php juntamente com sua mensagem no corpo da página DADOS ENVIADO COM SUCESSO! Após cinco 5 segundos conforme especificado na <meta http-equiv="refresh" a página volta para http://www.meusite/contato.php gostaria de um script que se encarregasse de enviar o formulário automaticamente toda vez que voltasse a cada 5 segundos para a página http://www.meusite/contato.php Amigo muito obrigado pela sua atenção! Edited February 10, 2013 at 12:16 PM by brunoais tags code + geshi
brunoais Posted February 10, 2013 at 12:16 PM Report #494784 Posted February 10, 2013 at 12:16 PM (edited) Javascript. Procura por: setTimeout() getElementById() submit() fora isso, não tens solução. Eu retirava tb aquela 2ª meta tag que escreveste no código. Só serve para incomodar. Edited February 10, 2013 at 12:55 PM by brunoais "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
pedrotuga Posted February 10, 2013 at 02:42 PM Report #494790 Posted February 10, 2013 at 02:42 PM esse refresh so te faz um refresh do browser, tu precisas de submeter o formulario, no teu caso ate tens definido que é via post. A forma de fazer isso é, como acabou de dizer o bruno, via javascript. pega no jquery e serializa o form com o serialize() http://api.jquery.com/serialize/ depois escreve uma funcao para enviar isso via via post (aka AJAX) http://api.jquery.com/jQuery.post/ Depois pendura um envento ao scope principal que te chama essa funcao. p ex: http://stackoverflow.com/questions/2170923/whats-the-easiest-way-to-call-a-function-every-5-seconds-in-jquery Dica: instala o firebug ou, se tiveres o chrome usa o chrome developer tools. Num ou noutro, clica na tab de network, da para ver os pedidos todos em detalhe
Biel. Posted February 10, 2013 at 03:19 PM Author Report #494791 Posted February 10, 2013 at 03:19 PM brunoais e pedrotuga Resolvi a questão. Abaixo encontrei dois script que funcionam normalmente. Grato! Se eu não estiver pedindo demais; agora como eu faço para especificar o numero de envio em um dos script abaixo. Ex: quero que o script pare de executar quando realizar 500 envio ou 10.000 Após chegar no número x de envio especificado o script para de executar. Obrigado! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="refresh" content="5; URL=http://www.meusite/contato.php" /> <title>Documento sem título</title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { window.document.forms[0].submit(); }); </script> < /head> <body> <form action="formulario.php" method="post" name="formulario"> <input type="submit" name="enviar" id="enviar" value="Enviar" /> </form> </body> </html> ou <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="refresh" content="5; URL=http://www.meusite/contato.php" /> <title>Documento sem título</title> <script language=javascript> function submeter() { document.forms.tetete.submit(); } </script> < /head> <body onload=submeter(5)> <form action="formulario.php" method="post" name="tetete"> <input type="submit" name="enviar" id="enviar" value="Enviar" /> </form> </body> </html>
clera Posted February 11, 2013 at 02:42 PM Report #494868 Posted February 11, 2013 at 02:42 PM boas, basicamente tiras o refresh e usas a função que te foi dada em cima "setTimeout()", depois é só criares uma variável que te vá incrementando cada vez que a função for chamada, quando essa variável chegar ao numero que desejares páras de a chamar.. com o refresh a variável do contador volta sempre a 0, dai não poderes usá-lo 😉 abraço
Biel. Posted February 11, 2013 at 02:56 PM Author Report #494869 Posted February 11, 2013 at 02:56 PM . Boa tarde a todos. Pessoal acrescentei algumas variáveis, ainda assim nada da certo. não sei onde está o erro. Vejam: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Documento sem título</title> <script type="text/javascript"> var qtd = 0; var limit = 10; var seconds = 5; function submeter(){ if( qtd < limit ){ document.forms.tetete.submit(); } qtd++; } function start_sending(){ seconds *= 1000; window.setInterval(function(){myTimer()},seconds); } </script> <body onload="start_sending();"> <form action="formulario.php" method="post" name="tetete"> <input type="submit" name="enviar" id="enviar" value="Enviar" /> </form> </body> </html>
yoda Posted February 11, 2013 at 05:09 PM Report #494895 Posted February 11, 2013 at 05:09 PM Pensa um bocado : se fazes refresh à página, quando ela volta a carregar o contador volta a zero. Qual é o objectivo de um formulário que envia a informação a cada x segundos? before you post, what have you tried? - http://filipematias.info sense, purpose, direction
Biel. Posted February 11, 2013 at 05:17 PM Author Report #494896 Posted February 11, 2013 at 05:17 PM (edited) Olá Yoda! O objetivo é enviar uma quantidade x de email de 10 em 10 segundos para não sobrecarregar o servidor. Uma vez terminado a quantidade x de emails quero que o script pare. tenho muitossssssss emails, se eu fizer manualmente vou ficar a vida toda só mandando emails. Veja: enquanto faço um trabalho, o script faz outro ou seja se encarrega de enviar os emails. Quando todos os emails forem enviados quero que o script pare. é isso. Edited February 11, 2013 at 05:22 PM by Biel.
HappyHippyHippo Posted February 11, 2013 at 05:19 PM Report #494897 Posted February 11, 2013 at 05:19 PM já olhaste para o cron ? cron + mysql + (server-script) ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Biel. Posted February 11, 2013 at 10:59 PM Author Report #494942 Posted February 11, 2013 at 10:59 PM (edited) Boa noite a todos. Pessoal o script abaixo está funcionando bem. Só falta dois 2 detalhes. 1º det: uma vez enviado o formulario o mesmo não retorna para a pagina anterior que é contato.php 2º det: Quero que o script pare de executar quando o formulario for enviado 10 vezes Vejam o script abaixo. Obrigado! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd%22> <html xmlns="http://www.w3.org/1999/xhtml%22> <head> <title>Documento sem título</title> <script language=javascript> var qtd = 0; var limit = 2; var seconds = 2; function submeter(){ if( qtd < limit ){ document.tetete.submit(); } qtd++; } function start_sending(){ seconds *= 200; window.setInterval(function(){submeter()},seconds); } </script> </head> <body onload="start_sending();"> <form action="formularioscript.php" method="post" name="tetete"> </form> </body> </html> Edited February 12, 2013 at 10:42 AM by scorch Adicionado Geshi.
Biel. Posted February 12, 2013 at 08:47 PM Author Report #495026 Posted February 12, 2013 at 08:47 PM Boa tarde a todos. Tarefa resolvida. Obrigado a todos!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now