Ir para conteúdo

POWERED BY:

Arquivado

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

11closed

[Resolvido] formulario vazio !

Recommended Posts

olá

 

estou tentando fazer um script para dar um erro em alert se o formulario estiver vazio caso contrario enviar para outra pagina.

 

olha o codigo

<script language="Javascript" type="text/Javascript">
 function verifica()  {
       if (form1.nome.value == "" || form1.email.value == "" || form1.mensagem.value == "") {
  alert("Os campos com (*) São Obrigatórios !!!");
  return false;  
 }
   }
</script>

<form method="post" name="form1" action="contato_envia.php">
               <b>Nome:* </b> <input type="text" name="nome" class="nome" onfocus="this.className='nome1'" onblur= "this.className='nome'"> </input><br>
               <b>Email:* </b> <input type="text" name="email" class="email" onfocus="this.className='email1'" onblur= "this.className='email'"> </input><br>
               <b>Telefone:</b> <input type="text" name="telefone" class="telefone" onfocus="this.className='telefone1'" onblur= "this.className='telefone'"> </input><br>
               <b>Mensagem:* </b><br> <textarea name="mensagem" class="mensagem" onfocus="this.className='mensagem1'" onblur= "this.className='mensagem'"> </textarea>
               <input type="submit" value="Enviar" class="botao" Onclick="return verifica()" onfocus="this.className='botao1'" onblur= "this.className='botao'" /> 
</form>

 

O script esta funcionando com o nome e o email, mais se eu deixo o textarea vazio e clico em Enviar ele envia com o textarea vazio.

 

o que devo fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pqp era uma maledeto de um espaço dentro do textarea... afff rssrsr

 

tava assim !

<b>Mensagem:* </b><br> <textarea name="mensagem" class="mensagem" onfocus="this.className='mensagem1'" onblur= "this.className='mensagem'"> </textarea>

 

agora assim

<b>Mensagem:* </b><br> <textarea name="mensagem" class="mensagem" onfocus="this.className='mensagem1'" onblur= "this.className='mensagem'"></textarea>

 

 

obrigado t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mesmo que a dúvida já tenha sido resolvida, vou deixar uma outra solução:

 

window.onload = function(){
       var form1 = document.getElementsByName("form1")[0];
       form1.onsubmit = function(){
               var obrigatorios = ["nome", "email", "mensagem"];

               for(n in obrigatorios){
                       var campo = document.getElementsByName(obrigatorios[n])[0];
                       if(campo.value == ""){
                               alert("Os campos com (*) São Obrigatórios !!!");
                               return false;
                       }
               }
       };
};
</script>
</head>
<body>
   <form method="post" name="form1" action="contato_envia.php">
       <b>Nome:* </b> <input type="text" name="nome" class="nome" onfocus="this.className='nome1'" onblur= "this.className='nome'" /><br>
       <b>Email:* </b> <input type="text" name="email" class="email" onfocus="this.className='email1'" onblur= "this.className='email'" /><br>
       <b>Telefone:</b> <input type="text" name="telefone" class="telefone" onfocus="this.className='telefone1'" onblur= "this.className='telefone'" /><br>
       <b>Mensagem:* </b><br> <textarea name="mensagem" class="mensagem" onfocus="this.className='mensagem1'" onblur= "this.className='mensagem'"></textarea>
       <input type="submit" value="Enviar" class="botao" onfocus="this.className='botao1'" onblur= "this.className='botao'" /> 
</form>
</body>

É interessante também nesse caso, aplicar a ideia da função trim (que remove os espaços em branco à esquerda e/ou à direita), pois do jeito que está, se o usuário colocar espaços em branco, o formulário será validado normalmente:

 

 

function trim(str, direction){
       if(!direction)
               return str.replace(/^\s+|\s+$/g,"");
       if(direction == "right")
               return str.replace(/\s+$/,"");
       if(direction == "left")
               return str.replace(/^\s+/,"");
}

 

:thumbsup: @thiagoretondar

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.