Jump to content
toarelli

Como limpar campo INPUT após pesquisa

Recommended Posts

toarelli

Caros amigos,

Saudações

Estou com um pequeno problema que não estou conseguindo solucionar.

Após uma Pesquisa por: Descrição ou Categoria, gostaria de LIMPAR o input, não estou conseguindo.

Como devo fazer isso?

abaixo o código que faço a pesquisa.

              <section class="content-header" style="margin-top:-30px;">
                <?php 
                  //Variável criada para persistir a busca no input
                    $pesquisa = (isset($_POST['pesquisa']) ? $_POST['pesquisa'] : ''); 
                ?>          

                <form name="frm_busca" id="frm_busca" action="" enctype="multipart/form-data" method="post" >
                  <div class="col-sm-6 invoice-col">
                     <div class="input-group margin">
                      <input type="text" name="pesquisa" id="pesquisa" class="form-control" onkeyup="up(this)" 
                             value="<?php echo $pesquisa; ?>"
                             placeholder="Descrição do Produto ou Categoria para Pesquisar." />

                        <span class="input-group-btn">
                          <button type="submit" name="busca" id="busca" class="btn btn-primary btn-flat" 
                                  value="Pesquisar" > Pesquisar
                          </button>                                                     
                        </span>
                     </div>    
                  </div>

             <!-- Nesse parte tentei dando um REFRESH na página para ver se limpava o INPUT, não consegui. -->
                  <div class="col-sm-2 invoice-col" style="margin-top:0px;">
                     <div class="input-group margin">     
                        <span class="input-group-btn">      
                          <a class="btn btn-danger" name="button" id="button" value="Limpar"
                             style="margin-left:-45px;" title="Limpar Pesquisa na Tabela Abaixo"
                             onclick="frm_busca.action='painel.php?exe=admin-cliente/produto/produtos_lista'; 
                                      frm_busca.submit()" />Limpar</a>                                    
                        </span>
                     </div>
                  </div>

                </form> 
              </section><!-- Fim SECTION Pesquisar -->  

 

 

no código de pesquisa, realiza a função normalmente.

                <?php

                    $pesq = "";
                    $pesquisaGet = isset($_GET['pesquisa']) ? $_GET['pesquisa'] : false;
                    $pesquisa = isset($_POST['pesquisa']) ? $_POST['pesquisa'] : $pesquisaGet;  

                    $codClie = "$userClientes_clienteId";

                      //Filtro de Busca
                      if( isset($_POST['busca']) && $_POST['busca'] == 'Pesquisar' ){                            
                        $pesq = "WHERE clientes_clienteId = '$codClie' 
                                 AND produtoDescr LIKE '%".$pesquisa."%' OR desc_categ LIKE '%".$pesquisa."%' 
                                 ORDER BY produtoDescr ASC ";
                      } else {    
                        $pesq ="WHERE clientes_clienteId = '$codClie'
                                ORDER BY produtoDescr ASC ";
                      }                                       

                     $sql_pegaAtivos = "SELECT * FROM produto $pesq ";                     
                    
                     try{
                       $query_pegaAtivos = $conecta->prepare($sql_pegaAtivos);
                       $query_pegaAtivos->execute();
                       
                       $resultado_pegaAtivos = $query_pegaAtivos->fetchAll(PDO::FETCH_ASSOC);
                       $count_pegaAtivos = $query_pegaAtivos->rowCount(PDO::FETCH_ASSOC);

                       }catch(PDOexception $error_pegaAtivos){
                            echo 'Erro ao pegar ativos';
                       }
                       
                       foreach($resultado_pegaAtivos as $resAtivos){
                               $produtoId          = $resAtivos['produtoId'];        
                               $codProdClie        = $resAtivos['codProdClie'];                    
                               $clientes_clienteId = $resAtivos['clientes_clienteId'];
                               $desc_categ         = $resAtivos['desc_categ'];                 
                               $apres_unid         = $resAtivos['apres_unid'];                   
                               $produtoDescr       = $resAtivos['produtoDescr'];                   
                               $produtoStatus      = $resAtivos['produtoStatus'];  
                       }
                 ?>

 

Grato,

 

Toarelli

Share this post


Link to post
Share on other sites
elitepc

Boas, 

Se bem entendi o que necessitavas era só uma questão de não imprimires a varíavel no atributo value do input:

                      <input type="text" name="pesquisa" id="pesquisa" class="form-control" onkeyup="up(this)" 
                             value=""
                             placeholder="Descrição do Produto ou Categoria para Pesquisar." />

No entanto não sei o que a função de javascript "up" faz por isso não consigo determinar o resultado final.

O que é que já tinhas experimentado para tentar resolver a situação?

 

 

EDIT: reparei agora que estás a usar PDO e mesmo assim tens variáveis concatenadas. Corrige ou arranja alguém para corrigir isso se te preocupas com o conteúdo da base de dados.

Edited by elitepc

Share this post


Link to post
Share on other sites
toarelli
20 horas atrás, elitepc disse:

Boas, 

Se bem entendi o que necessitavas era só uma questão de não imprimires a varíavel no atributo value do input:


                      <input type="text" name="pesquisa" id="pesquisa" class="form-control" onkeyup="up(this)" 
                             value=""
                             placeholder="Descrição do Produto ou Categoria para Pesquisar." />

No entanto não sei o que a função de javascript "up" faz por isso não consigo determinar o resultado final.

O que é que já tinhas experimentado para tentar resolver a situação?

 

 

EDIT: reparei agora que estás a usar PDO e mesmo assim tens variáveis concatenadas. Corrige ou arranja alguém para corrigir isso se te preocupas com o conteúdo da base de dados.

 

Caro amigo.

a função onkeyup="up(this)" -> transforma letras minúsculas em maiúsculas.

o value = " " -> fica realmente o INPUT em branco, mas se quiser persistir a Busca, deixei o value assim: value="<?php echo $pesquisa; ?>"

desta forma o VALUE fica preenchido e o INPUT não perde o foco da Busca.

Gostaria de uma forma de quando pressionar LIMPAR o INPUT seja limpo.

Grato por sua atenção.

Saudações

Toarelli

Share this post


Link to post
Share on other sites
elitepc

Boas, pretendes então que ao clicar no botão de id "button" o input seja limpo certo?

Podes usar mesmo o botão do tipo "reset".

<input class="btn btn-danger" type="reset" value="Reset">

<button class="btn btn-danger" type="reset">Reset</button>

Ou solução em js por algum motivo, no onclick:

document.getElementById("pesquisa").value = "";

 

Share this post


Link to post
Share on other sites
toarelli
4 horas atrás, elitepc disse:

Boas, pretendes então que ao clicar no botão de id "button" o input seja limpo certo?

Podes usar mesmo o botão do tipo "reset".


<input class="btn btn-danger" type="reset" value="Reset">

<button class="btn btn-danger" type="reset">Reset</button>

Ou solução em js por algum motivo, no onclick:


document.getElementById("pesquisa").value = "";

 

 

Amigo 

elitepc

para usar a função em JS, com acima mencionado devo fazer desta forma e já limpa o INPUT:

<script language="JavaScript" >

  document.getElementById("pesquisa").value = "";

</script> 

 

ou precisar criar uma função específica e depois chamar no BUTTON ?

 

Grato

Share this post


Link to post
Share on other sites
elitepc

Se puderes usar apenas o que mencionei sem javascript ótimo. Se tiveres mesmo de usar javascript, para o código ficar mais limpo, cria uma função que faça isso e coloca no "onclick".

Share this post


Link to post
Share on other sites
toarelli
50 minutos atrás, elitepc disse:

Se puderes usar apenas o que mencionei sem javascript ótimo. Se tiveres mesmo de usar javascript, para o código ficar mais limpo, cria uma função que faça isso e coloca no "onclick".

 

Amigo, por favor, me perdoa por tirar mais uma dúvida com o amigo.

 

No meu INPUT que uso para limpar está assim:

              <section class="content-header" style="margin-top:-30px;">
                <?php 
                  //Variável criada para persistir a busca no input
                    $pesquisa = (isset($_POST['pesquisa']) ? $_POST['pesquisa'] : ''); 
                ?>          

                <form name="frm_busca" id="frm_busca" action="" enctype="multipart/form-data" method="post" >
                 
                  <div class="col-sm-7 invoice-col">
                     <div class="input-group margin">
                      <input type="text" name="pesquisa" id="pesquisa" class="form-control" onkeyup="up(this)" 
                             value="<?php echo $pesquisa; ?>" 
                             placeholder="Informe a Descrição do Produto para Pesquisar." />
 
                        <span class="input-group-btn">
                          <button type="submit" name="busca" id="busca" class="btn btn-primary btn-flat" 
                                  value="Pesquisar" > Pesquisar
                          </button>                                                     
                        </span>

                       
                  <!-- AQUI UTILIZO O INPUT PARA DAR UM REFRESH NA PÁGINA --> 
                        <span class="input-group-btn">      
                          <a class="btn btn-danger" name="button" id="button" value="Limpar"
                             style="margin-left:5px;" title="Limpar Pesquisa na Tabela Abaixo"
                             onclick="frm_busca.action='painel.php?exe=admin-cliente/produto/produtos_lista'; 
                                      frm_busca.submit()" />Limpar</a>                               
                        </span>                       

                     </div>    
                  </div>

                </form> 
              </section><!-- Fim SECTION Pesquisar --> 

 

No INPUT que uso para limpar já uso a função "ONCLICK" para dar um refresh na tabela, funciona atualiza a tabela.

Como faria para usar no mesmo ONCLICK para chamar outra função ?

As outras formas que o amigo passou testei mas não deu certo, acredito que em JS irá resolver.

Grato,

Share this post


Link to post
Share on other sites
washalbano

Olá!
No final da função que o sr. usa para dar o refresh na tabela, defina que o valor do input de busca será = '';

Share this post


Link to post
Share on other sites
toarelli
20 horas atrás, washalbano disse:

Olá!
No final da função que o sr. usa para dar o refresh na tabela, defina que o valor do input de busca será = '';

 

Amigo Albano,

saudações

como ficaria o final dessa linha, não entendi:

                      <span class="input-group-btn">      
                          <a class="btn btn-danger" name="button" id="button" value="Limpar"
                             style="margin-left:5px;" title="Limpar Pesquisa na Tabela Abaixo"
                             onclick="frm_busca.action='painel.php?exe=admin-cliente/produto/produtos_lista'; 
                                      frm_busca.submit()" />Limpar</a>                               
                        </span>  

 

Grato

Share this post


Link to post
Share on other sites
washalbano

ué!
isso aqui submete o form e dá um refresh na página?
frm_busca.submit()
Então o sr. precisa apagar: $pesquisa = (isset($_POST['pesquisa']) ? $_POST['pesquisa'] : ''); e <?php echo $pesquisa; ?>

Ou seguir as orientações passadas por elitepc, no sábado

Edited by washalbano

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.