Ir para conteúdo
Fórum Script Brasil
  • 0

Enviar form automaticamente após determinado tempo


Somário Canuto

Pergunta

Bom dia pessoal tenho um probleminha não entendo nada de javascript e apenas um pouquinho de php, parece que o meu problema tem solução mais simples com javascript.

Seguinte: tenho um formulario com umas questões que ao clicar em avaliar os dados vão para um arquivo php que analiza as opções marcadas e diz quais as questões que o usuario acertou ou errou.

Bom o que acontece é que um prof. quer que, após 30 minutos mesmo que o usuário não tenha respondido todas as questões esse formulario seja enviado automaticamente dando o resultado de quantas questões ele acertou ou seja o mesmo processo anterior + a opção de que se o usuário não terminou nos 30 minutos ao invés de clicar o script aciona o envio.

Se alguém poder mim dizer como fazer isso, agradeço imensamente e claro que quando tiver algum conhecimento e poder ajudar estarei a disposição.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Para contar o tempo, utilize a função setTimeout, que recebe como parâmetros a função (ou código) a ser executar e o tempo em milésimos de segundo

Para enviar um formulário, utilize o método submit

setTimeout(function(){
document.getElementsById("formulario").submit()
},30*60*1000)

Link para o comentário
Compartilhar em outros sites

  • 0
Para contar o tempo, utilize a função setTimeout, que recebe como parâmetros a função (ou código) a ser executar e o tempo em milésimos de segundo

Para enviar um formulário, utilize o método submit

setTimeout(function(){
document.getElementsById("formulario").submit()
},30*60*1000)

Amigo eu sou novo na área de javascript e estou com este mesmo probl. que na verdade gostaria de saber qual é a função ou código que recebe o parametro do setTimeout() para poder enviar o fórmulário php para a análise.

Desde já agradeço a ajuda!

Link para o comentário
Compartilhar em outros sites

  • 0
Não sei se entendi

O objetivo seria apenas enviar o formulário ?

Tente usar o código acima e deixar o atributo action do formulário com o nome da página desejada

É exatamente isso, enviar o formulário quando o tempo terminar, mas não sei como fazer pois não tenho praticamente nenhum conhecimento de javascript ainda.

então veja a situação...

tenho o arquivo que tem o formulario com o seguinte nome simulado_on_line1.php e o arquivo que recebe os dados vindo do formulario após o aluno clicar no botão avaliar que defini como avalia.php.

Então, como já havia dito, preciso que na hipotese do aluno está respondendo as questões e mesmo que ele não termine de responder todas elas chegando em 30 min. o form é enviado através desse setTimeOut para o arquivo avalia.php dando o resultado de quantas ele acertou (isso já funciona com o botão).

Como não sei usar javascript ainda, as dúvidas são praticmente todas por exemplo:

seria assim?

baseado no que você mim enviou

<scrpit>

setTimeout(form action="avalia.php" method="post" name="form1" id="form1"(){

document.getElementsById("formulario").submit()

},30*60*1000)

</script>

ou

<script>

setTimeout(function(form action="avalia.php" method="post" name="form1" id="form1"){

document.getElementsById("formulario").submit()

},30*60*1000)

</script>

ou

<script>

setTimeout(function(){

document.getElementsById("form action="avalia.php" method="post" name="form1" id="form1"").submit()

},30*60*1000)

</script>

ou seja não sei onde inserir e o que inserir na sintaxe que voce enviou, desculpe está pedindo uma coisa praticamente feita a você mas estou com uma certa urgência e para aprender a paritr de sua dica que já foi extremamente importante, eu precisaria de tempo para estudar o javascript e estou fazendo isso mas não é fácil para quem está iniciando.

Link para o comentário
Compartilhar em outros sites

  • 0
Não sei se entendi

O objetivo seria apenas enviar o formulário ?

Tente usar o código acima e deixar o atributo action do formulário com o nome da página desejada

É exatamente isso, enviar o formulário quando o tempo terminar, mas não sei como fazer pois não tenho praticamente nenhum conhecimento de javascript ainda.

então veja a situação...

tenho o arquivo que tem o formulario com o seguinte nome simulado_on_line1.php e o arquivo que recebe os dados vindo do formulario após o aluno clicar no botão avaliar que defini como avalia.php.

Então, como já havia dito, preciso que na hipotese do aluno está respondendo as questões e mesmo que ele não termine de responder todas elas chegando em 30 min. o form é enviado através desse setTimeOut para o arquivo avalia.php dando o resultado de quantas ele acertou (isso já funciona com o botão).

Como não sei usar javascript ainda, as dúvidas são praticmente todas por exemplo:

seria assim?

baseado no que você mim enviou

<scrpit>

setTimeout(form action="avalia.php" method="post" name="form1" id="form1"(){

document.getElementsById("formulario").submit()

},30*60*1000)

</script>

ou

&lt;script>

setTimeout(function(form action="avalia.php" method="post" name="form1" id="form1"){

document.getElementsById("formulario").submit()

},30*60*1000)

</script>

ou

&lt;script>

setTimeout(function(){

document.getElementsById("form action="avalia.php" method="post" name="form1" id="form1"").submit()

},30*60*1000)

</script>

ou seja não sei onde inserir e o que inserir na sintaxe que voce enviou, desculpe está pedindo uma coisa praticamente feita a você mas estou com uma certa urgência e para aprender a paritr de sua dica que já foi extremamente importante, eu precisaria de tempo para estudar o javascript e estou fazendo isso mas não é fácil para quem está iniciando.

Não é nehuma das opções.

você tem que colocar assim:

<scrpit>

setTimeout(function(){
document.getElementsById("form1").submit()
},30*60*1000) 

</script>

<form action="avalia.php" method="post" name="form1" id="form1">

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...