Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

toarelli

Como limpar campo INPUT após pesquisa

Mensagens Recomendadas

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Editado por elitepc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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 = "";

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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".

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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,

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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á = '';

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Editado por washalbano

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.