Ir para conteúdo

POWERED BY:

Arquivado

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

Foccos

[Resolvido] Validacao de formulario

Recommended Posts

Estou com dificuldades em validar o formulário. Esse é o código script:

<script type="Javascript">
function envio()
{
if (emailForm.name.value=="" || emailForm.name.value.length < 8)
{
alert ("Preencha o campo Nome corretamente!");
emailForm.name.focus();
return false;
}

if( emailForm.email.value=="" || emailForm.email.value.indexOf('@')==-1 || emailForm.email.value.indexOf('.')==-1)
{
alert ("Preencha o campo Email corretamente!");
emailForm.email.focus();
return false;
}
if (emailForm.message.value=="")
{
alert ("Preencha a sua mensagem!");
emailForm.message.focus();
return false;
}
var digits="0123456789"
var temp
var ok=true;
for (var i=0;i<emailForm.fone.value.length;i++)
{
temp=emailForm.fone.value.substring(i,i+1)
if (digits.indexOf(temp)==-1)
{
alert("O campo telefone deve ser preenchido apenas com números!")
emailForm.fone.focus();
ok=false;
return(false);
break;
}
}

return true;
}
</script>

Esse é o formulário:

<form action="http://form.ultramail.com.br/" method="post" id="contactform" name="emailForm" onSubmit="return envio();">
<ol>
<li>
<label for="name">Seu Nome: <span class="red">*</span></label>
<input id="name" name="name" class="text" />
</li>
<li>
<label for="email">Seu E-mail: <span class="red">*</span></label>
<input id="email" name="email" class="text" />
</li>
<li>
<label for="company">Nome Empresa:</label>
<input id="company" name="company" class="text" />
</li>
<li>
<label for="name">DDD + Telefone: <span class="red">*</span></label>
<input id="fone" name="fone" class="text" />
</li>
<li>
<label for="subject">Assunto:</label>
<input id="subject" name="subject" class="text" />
</li>
<li>
<label for="message">Mensagem: <span class="red">*</span></label>
<textarea id="message" name="message" rows="6" cols="50"></textarea>
</li>
<li class="buttons">
<!--Chave de autenticação no UltraMail para o MailBox. Se a senha do MailBox for alterada esta chave deverá ser gerada novamente através do seu painel de controle.--> <INPUT TYPE="hidden" NAME="key" VALUE="eJwBwwA8/7Qidt89IeCwXuuUz6RbTRE6JB+nqmB5Md/fVaPbQ0DURm9ybVVsdHJhTWFpbNa9FFhZrXQQEXlDreOpqROL4ErcaYk6bbvhChBZxaRew6mqZ7gdI+3x4E47tHO4RgWX0K96cVOZ3cYwrr4sLUarij4WE0Ja/9nm8rvmgQ1YKySZyRn8xwpyJK3U9qjuBZaKTZiyej+quDs7XROFphLBj1+l+HL5fwjL/b+73S0fxBqvmJlrPnSKLH/RrzWjxg14ZhmMp4qHYK8=">

<!-- Pagina de conclusão do formulário de envio. Altere para a página desejada -->
<input type="hidden" name="redirect" value="http://www.poderweb.com.br/resposta-form.html"><br />
<button class="buttons" type="submit">Finalizar</button>
<div class="clr"></div>
</li>
</ol>
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, mas qual o problema? Dá algum erro? Simplesmente não funciona? Funciona, mas não do jeito que você precisa?

 

Sem mais informações fica praticamente impossível te ajudar.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele não funciona , eu clico pra enviar ele passa normalmente mesmo com todos os campos em branco, ou seja não realiza a validação. Essa função está no mesmo arquivo do formulário, tem algum problema quanto á isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso aqui:

<script type="Javascript">

não existe.

 

o correto seria:

<script type="text/javascript">

além disso, não use o formato emailForm.fone.value, prefira document.getElementById()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso prefira, pode usar jQuery para validar seus dados, devido a sua facilidade de uso, e a beleza visual que o mesmo trás. Eu fiz um tutorial de como usar validação jQuery no meu site usando um plug-in. Dê uma olhada:

 

http://www.tutoriaisjquery.com.br/validacao-em-jquery-jquery-validation/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom realizei as trocas solicitadas mas mesmo assim a validação não ocorre , deixa enviar mesmo com os campos em branco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o teu script após as alterações.

 

vá debugando.. o script é teu.. aqui só vamos te ajudar, e não fazer por você.

 

aperte Ctrl + Shift + J no Firefox, você verá erros. Os entenda e corrija.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script type="text/javascript">
function envio()
{
if (emailForm.name.value=="" || emailForm.name.value.length < 8)
{
alert ("Preencha o campo Nome corretamente!");
emailForm.name.focus();
return false;
}

if( emailForm.email.value=="" || emailForm.email.value.indexOf('@')==-1 || emailForm.email.value.indexOf('.')==-1)
{
alert ("Preencha o campo Email corretamente!");
emailForm.email.focus();
return false;
}
if (emailForm.message.value=="")
{
alert ("Preencha a sua mensagem!");
emailForm.message.focus();
return false;
}
var digits="0123456789"
var temp
var ok=true;
for (var i=0;i<emailForm.fone.value.length;i++)
{
temp=emailForm.fone.value.substring(i,i+1)
if (digits.indexOf(temp)==-1)
{
alert("O campo telefone deve ser preenchido apenas com números!")
emailForm.fone.focus();
ok=false;
return(false);
break;
}
}

return true;
}
</script>

 

Esse é o formulário:

<form action="http://form.ultramail.com.br/" method="post" id="contactform" name="emailForm" onSubmit="return envio();">
<ol>
<li>
<label for="name">Seu Nome: <span class="red">*</span></label>
<input id="name" name="name" class="text" />
</li>
<li>
<label for="email">Seu E-mail: <span class="red">*</span></label>
<input id="email" name="email" class="text" />
</li>
<li>
<label for="company">Nome Empresa:</label>
<input id="company" name="company" class="text" />
</li>
<li>
<label for="name">DDD + Telefone: <span class="red">*</span></label>
<input id="fone" name="fone" class="text" />
</li>
<li>
<label for="subject">Assunto:</label>
<input id="subject" name="subject" class="text" />
</li>
<li>
<label for="message">Mensagem: <span class="red">*</span></label>
<textarea id="message" name="message" rows="6" cols="50"></textarea>
</li>
<li class="buttons">
<!--Chave de autenticação no UltraMail para o MailBox. Se a senha do MailBox for alterada esta chave deverá ser gerada novamente através do seu painel de controle.--> <INPUT TYPE="hidden" NAME="key" VALUE="eJwBwwA8/7Qidt89IeCwXuuUz6RbTRE6JB+nqmB5Md/fVaPbQ0DURm9ybVVsdHJhTWFpbNa9FFhZrXQQEXlDreOpqROL4ErcaYk6bbvhChBZxaRew6mqZ7gdI+3x4E47tHO4RgWX0K96cVOZ3cYwrr4sLUarij4WE0Ja/9nm8rvmgQ1YKySZyRn8xwpyJK3U9qjuBZaKTZiyej+quDs7XROFphLBj1+l+HL5fwjL/b+73S0fxBqvmJlrPnSKLH/RrzWjxg14ZhmMp4qHYK8=">

<!-- Pagina de conclusão do formulário de envio. Altere para a página desejada -->
<input type="hidden" name="redirect" value="http://www.poderweb.com.br/resposta-form.html"><br />
<button class="buttons" type="submit">Finalizar</button>
<div class="clr"></div>
</li>
</ol>
</form> 

 

Erro nao apareceu nenhum, apareceu alertas pois a página completa possui código do google maps .... mas nada a respeito do form ou da validação ....

http://poderweb.com.br/contato.html

é essa página que estou tentando validar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não fez todas as alterações sugeridas..

if (emailForm.name.value=="" || emailForm.name.value.length < 8)

precisa colocar no padrão

 

document.getElementById(...

 

 

faça a troca do form.campo.atributo pelo document.getElementById().atributo

 

além disso, corrija erros de sintaxe:

return(false);

não tem esse () depois do return.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script type="text/javascript">
function envio()
{
if (document.getElementById().name=="" || document.getElementById().name.length < 8)
{
 alert ("Preencha o campo Nome corretamente!");
 document.getElementById().name.focus();
 return false;
}

if( document.getElementById().email=="" || document.getElementById()email.indexOf('@')==-1 || document.getElementById().email.indexOf('.')==-1)
{
 alert ("Preencha o campo Email corretamente!");
 document.getElementById().email.focus();
 return false;
}
 if (document.getElementById().message=="")
{
 alert ("Preencha a sua mensagem!");
 document.getElementById().message.focus();
 return false;
}
var digits="0123456789"
var temp
var ok=true;
for (var i=0;i<document.getElementById().fone.length;i++)
{ 
  temp=document.getElementById().fone.substring(i,i+1)
  if (digits.indexOf(temp)==-1)
 { 
  alert("O campo telefone deve ser preenchido apenas com números!")
  document.getElementById().fone.focus();
  ok=false;
  return false;
  break;
  }
}

return true;
}
</script>

<form action="http://form.ultramail.com.br/" method="post" id="contactform" name="emailForm" onsubmit="return envio();">
           <ol>
             <li>
               <label for="name">Seu Nome: <span class="red">*</span></label>
               <input id="name" name="name" class="text" />
             </li>
             <li>
               <label for="email">Seu E-mail: <span class="red">*</span></label>
               <input id="email" name="email" class="text" />
             </li>
             <li>
               <label for="company">Nome Empresa:</label>
               <input id="company" name="company" class="text" />
             </li>
             <li>
               <label for="name">DDD + Telefone: <span class="red">*</span></label>
               <input id="fone" name="fone" class="text" />
             </li>              
             <li>
               <label for="subject">Assunto:</label>
               <input id="subject" name="subject" class="text" />
             </li>
             <li>
               <label for="message">Mensagem: <span class="red">*</span></label>
               <textarea id="message" name="message" rows="6" cols="50"></textarea>
             </li>
             <li class="buttons">
           <!--Chave de autenticação no UltraMail para o MailBox. Se a senha do MailBox for alterada esta chave deverá ser gerada novamente através do seu painel de controle.-->  <INPUT TYPE="hidden" NAME="key" VALUE="eJwBwwA8/7Qidt89IeCwXuuUz6RbTRE6JB+nqmB5Md/fVaPbQ0DURm9ybVVsdHJhTWFpbNa9FFhZrXQQEXlDreOpqROL4ErcaYk6bbvhChBZxaRew6mqZ7gdI+3x4E47tHO4RgWX0K96cVOZ3cYwrr4sLUarij4WE0Ja/9nm8rvmgQ1YKySZyRn8xwpyJK3U9qjuBZaKTZiyej+quDs7XROFphLBj1+l+HL5fwjL/b+73S0fxBqvmJlrPnSKLH/RrzWjxg14ZhmMp4qHYK8=">

                                        <!-- Pagina de conclusão do formulário de envio. Altere para a página desejada -->
                               <input type="hidden" name="redirect" value="http://www.poderweb.com.br/resposta-form.html"><br />
		<button class="buttons" type="submit">Finalizar</button>
               <div class="clr"></div>
             </li>                         
           </ol>
         </form>

 

Realizei as alterações mas sem sucesso por enquanto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não está fazendo direito.

Vou deixar um exemplo para ficar claro:

 

isso:

if (emailForm.name.value=="" || emailForm.name.value.length < 8)

deveria ser:

 

if( document.getElementById('name').value=="" || document.getElementById('name').value.length < 8)

 

entendeu agora ? preste atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Refiz as alterações William Bruno, agora funcionou, desculpa por alguma coisa, estou começando a desenvolver agora, ainda não sei muita coisa,muito obrigado pela ajuda....

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.