none
Formulário em AJAX RRS feed

  • Pergunta

  •  Hi all,

    Tenho um formulário e gostaria de submeter ele pra dentro de um iframe.

    Quando clico no botão onde seria o submit, eu chamo uma função em JS que valida os dados e submete para uma determinada página para gravar os dados no banco. Só que ao invés de abrir a página dentro do iframe, está abrindo uma nova janela do navegador.

    Alguém já fez isso ou sabe onde tem pra ver um exemplo e baixar o codigo?

    Abs,

    Luís

    terça-feira, 3 de fevereiro de 2009 00:34

Respostas

Todas as Respostas

  • Luis como você está fazendo o redirecionamento para o iframe? Envie o trecho de código no qual você envia as informações para o iframe.

    Abraço

    Estevam

    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    terça-feira, 3 de fevereiro de 2009 11:27
  • Segue abaixo:

    <script> 
        function envia_dados(){  
    ...  
    ...  
            if (xerro==0) {  
               document.getElementById("waitbar").style.display='';  
               //document.getElementById("exec").style.visibility='';  
               document.form01.target='executar';  
               document.form01.action='grava_cotas.asp';  
               document.form01.submit();  
           };  
        };  
       
    </script> 
     
    ...  
     
    <form name="form01" id="form01" method="post">  
    ...  
    <input type="button" name="grava" id="grava" value="Cadastrar" alt="Grava Cota do Fundo" align="absmiddle" onClick="Javascript:envia_dados();">  
    </form> 
    ...  
    ...  
    <div id="exec" style="POSITION:ABSOLUTE; width:600px; height: 100px; border:solid; border-color:#FF0000; z-index: 5" visibility: hidden;> 
          <iframe id="executar" width="595" height="95" style="border:solid; border-color:#FFFF00;"></iframe> 
    </div> 


    Como vc pode ver eu estou apontando o target via javascript e dando submit no form e mesmo assim ele está abrindo uma nova janela do navegador.

    Eu coloquei no assunto do topico "Formulário em AJAX" pq me deram  idéia de substituir o iframe por ajax apontando para uma div.

    Valeu pela ajuda,

    Abs,

    Luís

    quarta-feira, 4 de fevereiro de 2009 01:26
  • O IFrame não tem um "name" coloque ... <iframe id="executar" name="executar" ...
    que funcionará.
    • Marcado como Resposta Luís Domingues sexta-feira, 6 de fevereiro de 2009 00:14
    quarta-feira, 4 de fevereiro de 2009 17:00
  •  Valeu pela ajuda...

    Tinha eskecido do name. Acostumei a trabalhar somente com ID. rsss

    Abs,

    Luís
    sexta-feira, 6 de fevereiro de 2009 00:15
  •  Galera como disse antes, conegui resolver com a ajuda do Rigel, mas agora pintou outro problema.

    Como vcs ja viram no codigo acima eu submeto o form pra dentro da iframe "executar", depois de todo o processamento eu tenho q exibir um detalhe e dar um refresh no form dependendo da resposta do usuário.

    Estou tentando:
    <script> 
            window.opener.getElementById("executar").style='border-color:navy;';  
    </script> 
     

    Já coloquei tb:
    <script> 
            window.parent.getElementById("executar").style='border-color:navy;';  
    </script> 
     
    <script> 
            window.top.getElementById("executar").style='border-color:navy;';  
    </script> 
     
    <script> 
            window.cotas.getElementById("executar").style='border-color:navy;';  
    </script> 
     

    E nenhum deles funcionou.

    Valeu pela ajuda

    Abs,

    Luís
    sexta-feira, 6 de fevereiro de 2009 02:24
  • Galera,

    Consegui resolver. Só estou postando de novo, para futura referência de alguem que possa ter um problema parecido.

    Coloquei dessa forma.

    parent.document.getElementById("")

    Colando o parent antes tudo funcionou perfeitamente.

    Valeu pela ajuda de todos.

    Abs,

    Luís
    domingo, 8 de fevereiro de 2009 19:01