Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabio Victor

Validar campo do formulario

Recommended Posts

Boa tarde galera

Eu fiz uma validação de formulário pois preciso que para que a busca seja realizada o usuário selecione no minimo um dos campos

 

fiz da seguinte forma:

 

javascript

 

<script>
function validaForm(){
	   	d = document.pesquisa;
	   	if (d.codigo.value == "" && d.fonte.value == "" && d.segmento.value == "" && d.regiao.value == "" && d.porte.value == ""){
				 alert("É necessário que pelo menos um campo seja preenchido!");
				 d.codigo.focus();
				 d.fonte.focus();
				 d.segmento.focus();
				 d.regiao.focus();
				 d.porte.focus();
				 return false;
				 }
}
</script>

 

formulario

<form name="pesquisa" method="post" action="buscarelfiltro.php" onsubmit="validaForm()">

 

não sei quase nada de javascript e fiz isso baseado em uma validação de vários campos obrigatórios que eu já tinha pronta, mas mudando para a logica que eu preciso, que é um campo só

 

O meu problema é o seguinte se eu seleciono um dos campos ou mais a pesquisa ocorre normalmente, mas se eu não seleciono nenhum eu recebo a mensagem de erro e a pesquisa é feita mesmo assim e mostra todos os resultados, independente dos filtros, e a minha intenção é que ficasse na mesma pagina para que o usuário seleciona-se um filtro pelo menos

 

Alguém pode me ajudar?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

Pode fazer assim com jQuery:

 

JS

 

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
	$('#verificar').on('click',function(){
		var codigo = $('#codigo').val();
		var fonte = $('#fonte').val();
		var segmento = $('#segmento').val();
		if(codigo == "" && fonte == "" && segmento == ""){
			alert('É necessário preencher um dos campos para prosseguir.');
		}
		else {
			$('#pesquisa').submit();
		}
	});
})
</script>

 

HTML

<form name="pesquisa" id="pesquisa" action="buscarelfiltro.php">
<fieldset>
    <label>Código</label>
    <input type="text" name="codigo" id="codigo"/>
</fieldset>
<fieldset>
    <label>Fonte</label>
    <input type="text" name="fonte" id="fonte"/>
</fieldset>
<fieldset>
    <label>Segmento</label>
    <input type="text" name="segmento" id="segmento"/>
</fieldset>
    <input type="button" name="verificar" id="verificar" value="Enviar"/>
</form>

 

OBS: Talvez você esteja fazendo isto para não receber valores em branco no (buscarelfiltro.php) e consequentemente ter problemas em sua consulta no banco por exemplo, aconselho mesmo assim validar no lado do servidor também, pois é facil burlar o JS do lado do cliente.

 

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara vlw mesmo pela ajuda

 

a função ficou:

 

<script type="text/javascript">
$(function(){
	$('#verificar').on('click',function(){
		var codigo = $('#codigo').val();
		var fonte = $('#fonte').val();
		var segmento = $('#segmento').val();
		var regiao = $('#regiao').val();
		var porte = $('#porte').val();
		if(codigo == "" && fonte == "" && segmento == "" && regiao == "" && porte == ""){
			alert('É necessário preencher ao manos um dos campos para prosseguir.');
		}
		else {
			$('#pesquisa').submit();
		}
	});
})
</script>

 

Formulario:

 

<form name="pesquisa" id="pesquisa" action="buscarelfiltro.php">
<table>
<tr>
<td>Código:</td><td><label class="suggest"><input type="text" name="codigo" id="codigo"></label></td>
</tr><tr>
<td>Fonte:</td><td><select name="fonte" id="fonte" style="width:250px">
    <option value="">Selecione a Fonte</option>
	<?php include "conexao.php";			
		$sql = "SELECT fonte FROM cargos GROUP BY fonte";
		$query = mysql_query($sql);
		while ($array = mysql_fetch_array($query))
		{
		echo '<option value="'.$array['fonte'].'">'.$array['fonte'].'</option>';
		}
		?></select></td>
</tr><tr>
<td>Segmento:</td><td><select name="segmento" id="segmento" style="width:250px">
    <option value="">Selecione o Segmento</option>
	<?php include "conexao.php";			
		$sql = "SELECT segmento FROM cargos GROUP BY segmento";
		$query = mysql_query($sql);
		while ($array = mysql_fetch_array($query))
		{
		echo '<option value="'.$array['segmento'].'">'.$array['segmento'].'</option>';
		}
		?></select></td>
</tr><tr>
<td>Região:</td><td><select name="regiao" id="regiao" style="width:250px">
    <option value="">Selecione a Região</option>
	<?php include "conexao.php";
		$sql = "SELECT regiao FROM cargos GROUP BY regiao";
		$query = mysql_query($sql);
		while ($array = mysql_fetch_array($query))
		{
		echo '<option value="'.$array['regiao'].'">'.$array['regiao'].'</option>';
		}
		?></select></td>
</tr><tr>
<td>Porte:</td><td><select name="porte" id="porte" style="width:250px">
		<option value="">Selecione o Porte</option>
		<?php include "conexao.php";
		$sql = "SELECT porte FROM cargos GROUP BY porte";
		$query = mysql_query($sql);
		while ($array = mysql_fetch_array($query))
		{
		echo '<option value="'.$array['porte'].'">'.$array['porte'].'</option>';
		}
		?>
		</select></td>
</tr><tr>
<td> </td><td><input type="button" id="verificar" name="verificar" value="Buscar" class="botao">
<input type="reset" value="Limpar" class="botao"></td>
</tr></table>
</form>

 

e recebo assim:

 

$codigo		= $_GET['codigo'];
$fonte		= $_GET['fonte'];
$segmento 	= $_GET['segmento'];
$regiao 	= $_GET['regiao'];
$porte 		= $_GET['porte'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.