Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
mguima

Interação CGI - JavaScript

Recommended Posts

Estou desenvolvendo uma aplicação em que necessito que uma página retornada por um programa CGI

submeta periodicamente um formulário HTML que irá executar este mesmo programa.

Acontece que o programa ou está rodando uma única vez ou então fica rodando direto, sem que seja

aguarado o intervalo de tempo especificado.

Segue o código que estou usando para a página de retorno:

<html>

<head>

<script language = "JavaScript">

function clique()

{

document.form1.reset();

document.form1.atualiza.click();

}

function atualiza()

{

setTimeout("clique()",2000);

}

</script>

</head>

<body onLoad = "atualiza()">

<form name = "form1" method = "get" action = "/cgi-bin/teste.cgi">

<input type = "radio" name = "r1" value = "um"> 1

<input type = "radio" name = "r2" value = "dois"> 2

<input type = "submit" name = "enviar" value = "Enviar">

<input type = "submit" name = "atualizar" value = "Atualizar">

</form>

</body>

</html>

Assim sendo, no meu entendimento, o funcionamento deveria ser o seguinte: ao terminar de carregar a página,

seria chamada a função atualiza() que, por sua vez, executaria a função clique() após decorridos 2 segundos.

Esta outra função simula o clique no botão "Atualizar" do formulário, sendo o mesmo submetido e executado o

programa teste.cgi a ele asociado, que então trataria as entradas e retornaria, como resposta, uma página

idêntica mostrada acima que, ao terminar de carregar a página... e assim por diante.

No entanto, conforme já disse, o programa ou é executado apenas uma vez ou então é chamado repetidas vezes,

sem aguardar ao tempo especificado (2 seg). Já tentei aumentar o tempo, mas de nada adiantou.

Será que alguém poderia me ajudar.

Ouvi dizer que esta funcionalidade que estou precisando só é possível usando um Active-X. Se for assim,

alguém saberia como posso implementá-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, altere a função clique() para:

function clique() 

{ 

document.form1.submit(); 

} 
Pois do jeito que estava ele limpava os valores (reset) mas não os enviava (submit). Caso ainda não funcione utilizas o seguinte:
function clique() {

  var acaorecalcula ="pagina.cgi?r1=um&r2=dois;

  eval("frm.action='" + acaorecalcula +"'");

  document.form1.submit();

}

Assim seria uma alternativa, passando os dados diretamente por GET.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
Entre para seguir isso  

×
×
  • Criar Novo...