Ir ao conteúdo

Posts recomendados

Postado

Rapaziada gostaria de saber se existe alguma forma de não passar  os valores de um formulário usando GET para a URL caso o Select e Input esteja com valor vazio? Alguma função em JS ou PHP? muito Obrigado.

  • Moderador
Postado

@Ivan Gustavo Por que não testar ela antes de enviar algum dado?

 

Exemplo:

<input type="text" name="nome" />
$nome = $_GET["nome"];

if empty($nome):
   echo "<script>  
             alert('Preencha o campo');
         </script>";
    exit;
else:
    // faz a ação 
endif;

 

No caso, o exit, termina a execução do script.

Postado

@DiF Por exemplo quando envio o form via GET para a página (Via action), ele coloca todos os campos do form na URL mesmo eles estando vazios (tanto os selects quantos os Inputs). O que eu gostaria de fazer era não enviar para a URL os que o usuário não colocar na busca. Entendeu?

  • Moderador
Postado

@Ivan Gustavo Ah sim, nesse caso não use GET.  use o POST. dessa forma, você não emite os dados por url

 

Melhor, sempre usar o post.  seja para buscas, emissão de formulários e etc..  

Postado

AI é que mora o problema, por exemplo quando eu mando via post e o usuário acessa detalhes dos itens listados e ele volta, os dados que foram passados via post expiram e é necessário o usuário dar um F5 para Reenviar o formulário, ou voltar para a pesquisa, perdendo o que já pesquisou. Tem também a opção de salvar busca, com o post não consigo. Só se existe alguma forma que desconheço.

@DiF Eu até validaria e obrigaria o usuário a preencher todos os campos, mas todos os campos não são obrigatórios. Por isso não consigo validar. Ai to tentando achar soluções e sugestões.

  • Moderador
Postado

@Ivan Gustavo Já tentou usar o ajax para fazer as requisições sem a necessidade de usar o F5?

Sugeri o método de POST, porque ele não mostra na url o que foi pesquisado, diferente do GET. Além disso, o GET tem um limite de caracteres, 512 caracteres que eu  me lembro bem.

 

Ademais, você pode recorrer a prevenir o uso do F5 com javascript e/ou usar o sessions 

https://stackoverflow.com/questions/6320113/how-to-prevent-form-resubmission-when-page-is-refreshed-f5-ctrlr

 

Mas o ideal mesmo, é usar o ajax. Felizmente o jQuery, tem funções especializadas nisso.

 

Você pode até fazer pesquisas baseadas na digitação, conforme digita vai mostrando o resultado, além disso, podes criar uma espécie de pesquisas avançada, onde você separa as coisas por algum caractere como ponto e virgula, coloca em um array e percorre com foreach, mostrando o resultado da pesquisa para cada coisa separada..

Bem.. isso são só ideias, talvez  não seja a solução que você procura... Mas o que vale é sempre buscar conhecimento :) 

 

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!