Ir para conteúdo

POWERED BY:

Arquivado

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

crawler

[Resolvido] validação de formulário

Recommended Posts

Pessoal, estou fazendo a validação de um formulário simples e funcionou do jeito que eu queria com exceção do campo estado que é um campo do tipo select.

 

Ele não para a execução, simplesmente ele continua e manda o formulário para o servidor mesmo depois de exibir o alert para o usuário.

 

Esse é o codigo

if (document.form_fale.estado.value == " ")
	 {
	  alert("Preencha o campo estado.");
	  document.form_fale.estado.style.background="d5d5d5";
	  document.form_fale.estado.value.focus();
	  return false;	  
	 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize assim

 

if (document.form_fale.estado.value == 0)
		alert("Um estado deve ser informado!")
		return false;

Verifique através do value do sue select

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, meu select esta dessa maneira:

 

<select name="estado" id="estado">
						<option value=" " selected></option>
						<option value="ac">Acre</option>
						<option value="al">Alagoas</option>
						<option value="ap">Amapá</option>
						<option value="am">Amazonas</option>
						<option value="ba">Bahia</option>
						<option value="ce">Ceará</option>
						<option value="df">Distrito Federal</option>
						<option value="es">Espirito Santo</option>
						<option value="go">Goiás</option>
						<option value="ma">Maranhão</option>
						<option value="ms">Mato Grosso do Sul</option>
						<option value="mt">Mato Grosso</option>
						<option value="mg">Minas Gerais</option>
						<option value="pa">Pará</option>
						<option value="pb">Paraíba</option>
						<option value="pr">Paraná</option>
						<option value="pe">Pernambuco</option>
						<option value="pi">Piauí</option>
						<option value="rj">Rio de Janeiro</option>
						<option value="rn">Rio Grande do Norte</option>
						<option value="rs">Rio Grande do Sul</option>
						<option value="ro">Rondônia</option>
						<option value="rr">Roraima</option>
						<option value="sc">Santa Catarina</option>
						<option value="sp">São Paulo</option>
						<option value="se">Sergipe</option>
						<option value="to">Tocantins</option>
					  </select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Peguei seu script e modifiquei um pouco, veja se resolve

<html 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TTESTE</title>

</head>
	<body>
	<form name="form1">
 <select name="estado" id="estado">
						<option value="Selecione" selected="selected">Selecione</option>
						<option value="ac">Acre</option>
						<option value="al">Alagoas</option>
						<option value="ap">Amapá</option>
						<option value="am">Amazonas</option>
						<option value="ba">Bahia</option>
						<option value="ce">Ceará</option>
						<option value="df">Distrito Federal</option>
						<option value="es">Espirito Santo</option>
						<option value="go">Goiás</option>
						<option value="ma">Maranhão</option>
						<option value="ms">Mato Grosso do Sul</option>
						<option value="mt">Mato Grosso</option>
						<option value="mg">Minas Gerais</option>
						<option value="pa">Pará</option>
						<option value="pb">Paraíba</option>
						<option value="pr">Paraná</option>
						<option value="pe">Pernambuco</option>
						<option value="pi">Piauí</option>
						<option value="rj">Rio de Janeiro</option>
						<option value="rn">Rio Grande do Norte</option>
						<option value="rs">Rio Grande do Sul</option>
						<option value="ro">Rondônia</option>
						<option value="rr">Roraima</option>
						<option value="sc">Santa Catarina</option>
						<option value="sp">São Paulo</option>
						<option value="se">Sergipe</option>
						<option value="to">Tocantins</option>
	</select>
	<input type="button" id="teste" onclick="Valida()"
	</form>
	</body>
</html>
<script type="text/javascript">

	function Valida() {
		//debugger
		if (document.form1.estado.value == "Selecione") {
			alert("Preencha o campo estado.");
			document.form_fale.estado.style.background = "d5d5d5";
			document.form_fale.estado.value.focus();
			return false;
		}
		 
	}

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

a diferença aqui é que eu usei um input do tipo submit ao inves de usar button, se eu uso input button funciona normal mas não manda o formulario.

 

Eu vou postar a pagina toda, apesar de sua imensidao:

 

<?php 	// INCLUINDO ARQUIVOS
	include("conexao.php");
	include("scripts.php");
	
	include("head.php");
 ?>
 
 <style>
   .campo_obrigatorio{ font-family:"Times New Roman", Times, serif; color:#CC3300; font-size:14px;}
   
 </style>
	
 <script src="SpryAssets/SpryValidationSelect.js" type="text/javascript"></script>
<script type="text/javascript"> 
function obriga()
{
  if (document.form_fale.nome.value == "")
	 {
	  alert("Por favor, preencha o campo nome.");
	  document.form_fale.nome.style.background="d5d5d5";
	  document.form_fale.nome.focus();
	  return false; 
	 } 
  if (document.form_fale.mail.value == "")
	 {
	  alert("Preencha o campo email.");
	  document.form_fale.mail.style.background="d5d5d5";
	  document.form_fale.mail.focus();
	  return false;	  
	 } 
   if (document.form_fale.cidade.value == "")
	 {
	  alert("Preencha o campo cidade.");
	  document.form_fale.cidade.style.background="d5d5d5";
	  document.form_fale.cidade.focus();
	  return false;	  
	 }	   	
	if (document.form_fale.estado.value == "Selecione")
	 {
	  alert("Preencha o campo estado.");
	  document.form_fale.estado.style.background="d5d5d5";
	  document.form_fale.estado.value.focus();
	  return false;	  
	 }
	if (document.form_fale.tel.value == "")
	 {
	  alert("Preencha o campo telefone.");
	  document.form_fale.tel.style.background="d5d5d5";
	  document.form_fale.tel.focus();
	  return false;	  
	 }
	 	 
	 return true;
}
</script>

<body>

<!-- CORPO INICIO -->
<div class="corpo">
	
	<?php include("topo.php"); ?>
	
	<!-- CONTEUDO INICIO -->
	<div id="conteudo">
	
	 <div align="right">
	  <h2>Contatos</h2>
	 </div>
			 <hr />
						 <div align="right">
						 <h2>14-3373-1919</h2>
						 </div>
<br />
		
		<?	// EXIBINDO BOX ALERTA
				if(isset($_GET['erro']) || isset($_GET['email'])){ 
					echo "<strong>Mensagem enviada com sucesso!</strong><br />";
					echo "Entraremos em contato o mais rápido possível.";
					echo "<br />";
					echo "<br />";
				} ?>
			
			<form method="post" name="form_fale" action="fale_envia.php" onSubmit="return valida('nome,mail,tel,mensagem');">
			 <table width="100%">
			  <tr>
				  <td width="70%">
				<table width="100%" border="0" cellspacing="0" cellpadding="5">
				  <tr>
					 <td width="10%" height="28">Setor<span class="campo_obrigatorio"> * </span></td>
					 <td>
					  <select name="escolha_setor">
						  <option value="comercial">Comercial</option>						  <option value="administrativo">Administrativo</option>
						  <option value="financeiro">Financeiro</option>						  <option value="recursos_humanos">Recursos Humanos</option>
					   </select>
					  </td> 
				  </tr>
				  <tr>
					<td height="28">Nome<span class="campo_obrigatorio"> * </span></td>
				  <td>
					<input type="text" name="nome" size="50" maxlength="100" />
					</td>
				  </tr>
				  <tr>
					<td height="28">E-mail<span class="campo_obrigatorio"> * </span></td>
					<td><input type="text" name="mail" size="50" maxlength="100" />
					</td>
				  </tr>
				  <tr>
					<td height="28">Cidade<span class="campo_obrigatorio"> * </span></td>
					<td><input type="text" name="cidade" size="50">
					</td>
				  </tr>
				  <tr>
					<td height="28">Estado <span class="campo_obrigatorio"> * </span></td>
					<td><span id="spryselect1">
					  <select name="estado" id="estado">
						<option value="Selecione" selected="selected">Selecione</option>
						<option value="ac">Acre</option>
						<option value="al">Alagoas</option>
						<option value="ap">Amapá</option>
						<option value="am">Amazonas</option>
						<option value="ba">Bahia</option>
						<option value="ce">Ceará</option>
						<option value="df">Distrito Federal</option>
						<option value="es">Espirito Santo</option>
						<option value="go">Goiás</option>
						<option value="ma">Maranhão</option>
						<option value="ms">Mato Grosso do Sul</option>
						<option value="mt">Mato Grosso</option>
						<option value="mg">Minas Gerais</option>
						<option value="pa">Pará</option>
						<option value="pb">Paraíba</option>
						<option value="pr">Paraná</option>
						<option value="pe">Pernambuco</option>
						<option value="pi">Piauí</option>
						<option value="rj">Rio de Janeiro</option>
						<option value="rn">Rio Grande do Norte</option>
						<option value="rs">Rio Grande do Sul</option>
						<option value="ro">Rondônia</option>
						<option value="rr">Roraima</option>
						<option value="sc">Santa Catarina</option>
						<option value="sp">São Paulo</option>
						<option value="se">Sergipe</option>
						<option value="to">Tocantins</option>
					  </select>
				 </td>
				  </tr>
				  <tr>
					<td height="28">Telefone<span class="campo_obrigatorio"> * </span></td>
					<td><input type="text" name="tel" size="50" maxlength="100">
					</td>
				  </tr>
				  <tr>
					<td valign="top">Mensagem</td>
					<td><textarea name="mensagem" cols="47" rows="7"></textarea></td>
				  </tr>
				  <tr>
					<td> </td>
					<td><input type="submit" name="enviar" onClick="obriga();" value="Enviar" />
					(<span class="campo_obrigatorio"> * </span>)   Campos devem ter preenchimento obrigatório. 
					</td>
				  </tr>
				  <tr>
					<td colspan="2">
						<br>					</td>
				  </tr>
				</table>				</td>
		<td width="30%" valign="top">
	<div style="width:170px; margin-left:120px;"><strong>Hidroceres</strong>   [<a href="/localizacao">localização</a>]<br>
					  <br>
					  Caixa Postal 56 - 18900-000<br>
					  Rod. SP 225, Km 319<br>
					  Santa Cruz do Rio Pardo - SP
					  <br>
					  Fone/Fax: (14) 3373-1919<br>
			   <a href="mailto:comercial@hidroceres.com.br">comercial@hidroceres.com.br</a>					</div>
			   <div align="right"></div></td></table>  
			  <input type="hidden" name="salvar" value="1">
			</form>
		
  </div>
	<!-- CONTEUDO FIM -->
	
	<? include("final.php"); ?>
	
</div>
<!-- CORPO FIM -->
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala rapaz

 

encontrei dois erros no código

 

1º) não existe a função valida entaum oq fiz

Errado:

<form method="post" name="form_fale" action="fale_envia.php" onSubmit="return valida('nome,mail,tel,mensagem');">

Certo:

<form method="post" name="form_fale" action="fale_envia.php" onSubmit="return obriga('nome,mail,tel,mensagem');">

2º) ao validar estado qdo da o focus você coloco value.focus é sem value

Errado:

if (document.form_fale.estado.value == "Selecione")
	 {
	  alert("Preencha o campo estado.");
	  document.form_fale.estado.style.background="d5d5d5";
	  document.form_fale.estado.value.focus();
	  return false;	  
	 }

Certo:

if (document.form_fale.estado.value == "Selecione")
	 {
	  alert("Preencha o campo estado.");
	  document.form_fale.estado.style.background="d5d5d5";
	  document.form_fale.estado.focus();
	  return false;	  
	 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora aqui deu certo...Obrigado.

 

Eu estava colocando a função no evento onclick do submit, e no evento Onsubmit do form deu certo

 

Aquela função valida na verdade era uma função que estava no arquivo "script.js" que incluia no arquivo. Mas não funcionava, por isso eu resilvi criar esse.

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.