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

Direcionamento de Form para Div


Phyrius

Pergunta

Pessoal, estou com o seguinte problema.

Estou usando PHP e tenho um FORM que preciso submeter.

Preciso que a resposta do FORM, que seria uma tabela com os resultados da busca, abra dentro de uma DIV...

Já vi vários exemplos de como fazer o resultado da busca abrir em pop-up, mas preciso que seja em DIV.

Form:

<table width="100%" align="center">
  <form name="BuscaNome" method="post" action="resultado.php">
  <tr>
    <th scope="col" STYLE="border-bottom: 1px #000000 solid;">
        <font face="arial" size="1"><div align="left"><b>NOME:      </b></div></font>
        <div align="left"><input name="name" type="text" size="30"></div>
    </th>
  </tr>
  <tr>
     <th scope="col">
         <div align="right"><input type="submit" name="submit" value="Buscar"></div>
     </th>
  </tr>
  <tr>
     <th scope="col">
        <div id="result_div"> </div>
     </th>
  </tr>
</table>

O Arquivo resultado.php contem apenas funcões para consulta e impressão da tabela de resultados.

Preciso que a resposta desse submit (ação desse formulário) abra na "result_div". Como posso fazer isso?

Obrigado.

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

cara não coloque posts repetidos ! você já colocou um desses no forum de PHP... n tem nada a ver com PHP... não comece mau, levando mijada de moderador...

voltando ao ponto...

essa div vai ter que abrir em uma nova janela ? ou pode ser na mesma janela ?

Editado por JuanHBiscaia
Link para o comentário
Compartilhar em outros sites

  • 0

Com relação ao tópico, o outro eu postei primeiro na sessão PHP, depois percebi que o negócio não tem como resolver só com PHP e postei em javascript. Desculpem. Se algum moderador puder remover o tópico repetido na sessão PHP, eu ficaria grato.

Esse aqui é o tópico correto da discussão.

Voltando ao assunto...

Bom, a idéia é que abra na mesma página, no próprio corpo da página após o form.

Editado por Phyrius
Link para o comentário
Compartilhar em outros sites

  • 0

quanto ao tópico, beleza cara... isso foi só uma dica pra você começar bem no fórum...

continuando... existe algo bem interessante em javascript chamado innerHTML que serve pra inserir elementos html na pagina via código... eu uso quando quero mostrar labels ao invés de alerts ou popups... dá uma pesquisada no google e w3Schools que tem um monte de matéria e exemplos sobre ele....

uma coisa... você n poderá usar o action do form porque isso automaticamente faz abrir uma pagina nova...

Editado por JuanHBiscaia
Link para o comentário
Compartilhar em outros sites

  • 0
quanto ao tópico, beleza cara... isso foi só uma dica pra você começar bem no fórum...

continuando... existe algo bem interessante em javascript chamado innerHTML que serve pra inserir elementos html na pagina via código... eu uso quando quero mostrar labels ao invés de alerts ou popups... dá uma pesquisada no google e w3Schools que tem um monte de matéria e exemplos sobre ele....

uma coisa... você n poderá usar o action do form porque isso automaticamente faz abrir uma pagina nova...

Pois é, andei pesquisando um pouco sobre isso, mas não consegui entender direito como agregar isso ao meu uso nesse caso.

No w3Schools tem muitos exemplos de como usar esse recurso com diversos elementos, eu até entendi como usar, só não consegui imaginar uma forma de pegar o que foi gerado pelo submit e passar para a pagina de resultados para que ela trabalhe esses dados.

Também não consegui imaginar como fazer com que essa página que gera os resultados abra na div. Pelo que vi eu teria que "imprimir" a pagina de resultados no innerHTML da div...

Não sei se esse é o melhor caminho ou se sou eu que não estou entendendo direito o conceito do innerHTML.

Se alguém souber como me ajudar nessas dúvidas ou souber de algum outro recurso apropriado seria ótimo.

Editado por Phyrius
Link para o comentário
Compartilhar em outros sites

  • 0

hummm... entendi agora o que você precisa... infelizmente n deu certo...

bem, eu n conheço mais outros métodos....

você pode tentar usar frames... mas ai já mais é profundo e complexo do que eu conheço...

mas seria interessante você nos dizer porque que tem que ser em uma div, podemos tentar encontrar uma alternativa ?

Editado por JuanHBiscaia
Link para o comentário
Compartilhar em outros sites

  • 0

Pois é... Até poderia ser frame, não tenho problema em mexer com isso, conheço bem.

Mas o que eu gostaria mesmo era de passar a trabalhar com elementos mais dinâmicos, como as div's.

Sem contar que quanto mais dificil, mais divertido é... =p

Também tem a questão da div poder ser direcionada com CSS pra qualquer ponto da tela, não sei se dá pra fazer isso com frame...

Em suma, não sei se ficou claro, meu problema é: Ao enviar uma consulta de um formulário (submeter o form), o resultado deverá aparecer numa determinada div no corpo da mesma pagina, ou seja, a página que gera os resultados deverá ser carregada dentro dessa div.

Sinceramente, achei que seria bem simples quando comecei a fazer, mas depois acabei me deparando com isso... Acabei me empolgando! Vou dar mais uma pesquisada, se alguém tiver alguma idéia posta aí por favor!

Link para o comentário
Compartilhar em outros sites

  • 0
tem outra maneira... mas ae o index onde fica o formulário tem que ser php

nessa parte entramos em php

tem algum problema se a pagina do form for php e não html ?

Muito pelo contrário, o sistema é PHP.

Por isso fiquei em dúvida sobre onde postar. =p

Qual seria a outra maneira?

Link para o comentário
Compartilhar em outros sites

  • 0

vou dar um exemplo de como pode ser feito, dai você adapta ao seu sistema... ai vai:

php

<?
if (condição1)
{
   $sucesso = 1;
}
else
{
  $sucesso = 2;
}
?>
na parte em html você faz assim
<div name="div1">
<?
if ($sucesso == 1)
{
   echo "Condição1 executada com sucesso";
}
else if ($sucesso == 2)
{
  echo "Falha ao executar Condição1";
}
?>
</div>

entendeu ? você n pode usar o action do form, senão vai abrir uma pagina nova e mostra o que é pra mostrar no php.... você tira o action do form e coloca script php na mesma pagina do form... assim você pode indicar aonde vão aparecer as mensagens de sucesso ou falha...

Link para o comentário
Compartilhar em outros sites

  • 0

Boa! Não tinha pensado nisso...

É quase igual se vai enviar um form de contato, por exemplo, para email ou coisa do tipo.

Vamos ver...

<table width="100%" align="center">
  <form name="BuscaNome" method="post" action="#">
  <tr>
    <th scope="col" STYLE="border-bottom: 1px #000000 solid;">
        <font face="arial" size="1"><div align="left"><b>NOME:      </b></div></font>
        <div align="left"><input name="name" type="text" size="30"></div>
    </th>
  </tr>
  <tr>
     <th scope="col">
         <div align="right"><input type="submit" name="submit" value="Buscar"></div>
     </th>
  </tr>
  <tr>
     <th scope="col">
        <div id="result_div">
                <?
                       if ($_POST){
                          include "resultado.php";
                       }
                 ?>     
        </div>
     </th>
  </tr>
</table>

Bom agora temos um novo impasse...

Se a pagina do form for a pagina raíz, funciona. (Se ela for aberta direta no browser)

Porém se a página do form estiver carregada já dentro de uma div (na index por exemplo), ferra tudo, quando o submit acontece ele zera a página...

Editado por Phyrius
Link para o comentário
Compartilhar em outros sites

  • 0

puts...cara...

mas faz isso com ajax...não com php....

do jeito que você falou até da certo...mas carrega a página toda novamente.....

faça um negócio bacana ai pra nóis...hehehe

Você pode!!!!

aguardo

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...