Submit Automático com JavaScript

Maio 4, 2007 on 1:29 pm | In Informatica, Trabalho, JavaScript |

Outro dia tive dúvidas em relação a submit automatico de um form.. a necessidade e o caso do porque eu tive que usar não é um mérito que irei comentar... mas o problema estava diante de min e foi um saco para resolver, pouco suporte muitas tentativas, diversas dúvidas até que me resolvi. Como ? De duas formas basicamente:

FORMA exemplo 01

Eu primeiramente criei o form normalmente com um detalhe, chega no final ele da o submit em JS:

HTML:
  1. <form name="frmDC" method="post" action="pagina.php" target="_blank"> <input type="hidden" name="txtCR" value="dcr" />
  2. <script language="JavaScript">document.frmDC.submit();</script>
  3. </form>

FORMA exemplo 02

Eu criei o form normalmente so que no final dessa vez eu chamei uma função em JS, para que dessa eu possa dar meu SUBMIT por post em um POPUP pré formatado e continuar executando o script na página principal:

HTML:
  1. <form id="MCdform" name="MCdform" method="post"> <input type="hidden" value="x" name="campo1" />
  2. <script language="\"JavaScript\"">submete();</script></form>

E então eu crio o JavaScript, que fica no inicio da página, e dou um submit do formulario no POPup por método POST:

JAVASCRIPT:
  1. function SubmetPopUp(){
  2. with (document.MCdform) {
  3. method = 'POST';
  4. action='pagina2.php'; jan=window.open('pagina2.php','tela01','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resible=no,copyhistory=no,width=780,height=460');
  5. target='tela01';
  6. submit();
  7. }
  8. return true;
  9. }

Dúvida ? É so comentar... espero ter ajudo alguem, ja que não achei muito sobre no google, muito pouco em inglês e nada em português.


15 Comments »

RSS feed for comments on this post. TrackBack URI

  1. Google

    Google is the best search engine Google

    Trackback by Anonymous — Maio 24, 2007 #

  2. Oh yeah... :P

    Comment by silici0 — Maio 24, 2007 #

  3. Eu tambem preciso muito deste comando... tomara que funcione... Ahhh o motivo pelo qual preciso tambem não é muito bonito de se falar... Valew cara obrigado por postar a forma de fazer.

    Comment by RED ICE — Junho 20, 2007 #

  4. Cara... beleza... funcionou perfeitamente... muito obrigado...

    Comment by RED ICE — Junho 20, 2007 #

  5. De nada... que bom que funcionou... fiquei curioso o porque você esta usando isso! ehehhe

    Abraços

    Comment by silici0 — Junho 20, 2007 #

  6. MUuuito obrigado.

    Comment by chryso — Agosto 2, 2007 #

  7. Olá,
    No meu caso não funcionou. Explico:
    O meu formulário manda a informação ao servidor que recebe e monta a página com a resposta, mas neste caso ao montar a página novte, o Jaca envia nvte o submit e fica num loop infinito. Como pode ser incorporado um contador neste Java?

    Só por curiosidade: Meu form envia CEP, Peso e aviso de recebimento, e recebe o valor do SEDEX. Precisei disto porque numa loja virtual que estou fazendo o usuário "pode" imprimir o boleto sem adicionar o valor do frete

    Obrigado pela atenção

    Comment by Claudio — Setembro 4, 2007 #

  8. Cara esse foi meu uso, o recebimento do webservice era preciso montar um segundo envio porem como enviar ? solucao foi montar um form com os dados e utilizar o js para dar submit automatico.

    Me desculpa não entendi sua dúvida, qualquer coisa explica melhor.

    Abraços

    Comment by silici0 — Setembro 4, 2007 #

  9. Estou na pagina A. Nesta página tem um iframe com a página B. Na página B tem um formulario que envia as info e recebe o resultado montado na mesma página B (No iframe da A), ou seja, a página B é remontada mas é adicionada a resposta.

    Se eu usar java para automatizar o envio do formulario na B (document.nomeForm.submit()) que é meu objetivo , ela caíra em loop infinito (pq a pag B será remontada com a resposta e o java estará lá e comeca tudo de novo)

    Pelo jeito a única solução seria colocar o java na pag A (que carrega uma única vez) enviando o formulário da página B.

    Deve ser uma rotina que incluí o (document.nomeForm.submit()), mas eu sou newbie em Java... Obrigado por sua atenção.

    Comment by Claudio — Setembro 5, 2007 #

  10. Primeiro, chame-o de JavaScript, java é completamente diferente, hehehe.

    Mas vamos a solução, presumindo que quando o submit automatico rolou e recebemos umas 2a/3a resposta do webservice, deve vir alguma informação mostrando essa etapa ou finalização do processo, então é so jogar dentro de um if.

    IF (etapa == 3){
    NAO FAZ MAIS NADA
    }else{
    ESTA NA ETAPA inicial, executa submit automatico
    }

    É basicamente essa a ideia. Espero que resolva o problema,

    Abraços

    Comment by silici0 — Setembro 5, 2007 #

  11. Ah sim, mil desculpas hehe
    Neste caso o IF não será sempre 1?, uma vez que a página será completamente recarregada?

    Comment by Claudio — Setembro 5, 2007 #

  12. Então depende né, tem que ter informação para saber em qual etapa esta e com o IF vc controla o que vai fazer em cada etapa...

    O seu problema é... não da para usar em um IFRAME so se usar AJAX, pois quando vc envia o submit vc fica a merce, esperando uma resposta, no iframe vc nao consegue pegar essa resposta sem ajax e reler o iframe para testar os casos de novo.

    Abraços

    Comment by silici0 — Setembro 5, 2007 #

  13. Muito bom! Parabéns!
    Fiz uns ajustes. Tá funcionando corretamente.
    AJAX é uma maravilha.

    Comment by Eder — Abril 12, 2008 #

  14. Good 235rter2rwer23r

    Comment by jenny — Setembro 13, 2008 #

  15. Heh. Nice. I really like your attentions to my forests gravel A JOKE! ) Where do you get virgin wool from? Ugly sheep.

    Comment by JulseCevyCuse — Novembro 2, 2008 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>


 

 Assine o feed