toarelli 2 Denunciar mensagem Publicado 21 de Julho 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 0 Denunciar mensagem Publicado 21 de Julho (editado) 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 21 de Julho por elitepc Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
toarelli 2 Denunciar mensagem Publicado 22 de Julho 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 0 Denunciar mensagem Publicado 22 de Julho 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 2 Denunciar mensagem Publicado 22 de Julho 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 0 Denunciar mensagem Publicado 22 de Julho 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 2 Denunciar mensagem Publicado 22 de Julho 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 5 Denunciar mensagem Publicado 22 de Julho 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 2 Denunciar mensagem Publicado 23 de Julho 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 5 Denunciar mensagem Publicado 23 de Julho (editado) 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 23 de Julho por washalbano Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites