Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas com validação de formulario


caphoundy

Pergunta

Ola galera

To com um problema de validação de um formulário, ele ta funcionando beleza, redondo, quando não coloco pra ele checar se o email é valido. Quando coloco ele pra checar o email com a função ereg, ele para de funcionar (não valida nenhum campo abaixo e nem faz o envio)

alguém pode me dizer onde está o erro

function enviar(){
url = "mail.php";
nome = document.getElementById("nome").value;
empresa = document.getElementById("empresa").value;
ddd = document.getElementById("ddd").value;
telefone = document.getElementById("telefone").value;
email = document.getElementById("email").value;
end = document.getElementById("end").value;
cidade = document.getElementById("cidade").value;
estado = document.getElementById("estado").value;
advogado = document.getElementById("advogado").value;
assunto = document.getElementById("assunto").value;
mens = document.getElementById("menssagem").value;
cod = document.getElementById("cod").value;


///dados = "nome="+nome+"&email="+email+"&mens="+mens+"&assunto="+assunto+"&empresa="+empresa+"&cv="+cod;

dados = "nome="+nome+"&empresa="+empresa+"&ddd="+ddd+"&telefone="+telefone+"&email="+email+"&end="+end+"&cidade="+cidade+"&estado="+estado+"&advogado="+advogado+"&assunto="+assunto+"&mens="+mens+"&cv="+cod;
metodo = 'POST';
obj_retorno = document.getElementById("retorno");

//validar campo nome
if (document.form1.nome.value == ""){
alert("O campo " + document.form1.nome.name + " deve ser preenchido!");
document.form1.nome.focus();
return false;
}
//validar campo empresa
if (document.form1.empresa.value == ""){
alert("O campo " + document.form1.empresa.name + " deve ser preenchido!");
document.form1.empresa.focus();
return false;
}
//validar ddd
if (document.form1.ddd.value == ""){
alert ("O campo " + document.form1.ddd.name + " deve ser preenchido!");
document.form1.ddd.focus();
return false;
}
//validar ddd(verificacao se contem apenas numeros)
if (isNaN(document.form1.ddd.value)){
alert ("O campo " + document.form1.ddd.name + " deve conter apenas numeros!");
document.form1.ddd.focus();
return false;
}
//validar telefone
if (document.form1.telefone.value == ""){
alert ("O campo " + document.form1.telefone.name + " deve ser preenchido!");
document.form1.telefone.focus();
return false;
}
//validar telefone(verificacao se contem apenas numeros)
if (isNaN(document.form1.telefone.value)){
alert ("O campo " + document.form1.telefone.name + " deve conter apenas numeros!");
document.form1.telefone.focus();
return false;
}
//validar campo email
if (document.form1.email.value == ""){
alert("O campo " + document.form1.email.name + " deve ser preenchido!");
document.form1.email.focus();
return false;
}

//verificao de endereco eletrônico - aqui que ta o erro, se tiro essa parte, funciona 100%

$input_email = document.form1.email.value

if(! eregi("^([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([a-z,A-Z]){2,3}([0-9,a-z,A-Z])?$", $input_email ) ) {
alert ("O campo " + document.form1.email.name + " deve ser um endereco eletronico!");
document.form1.email.focus();
return false;
}



//validar campo endereço
if (document.form1.end.value == ""){
alert("O campo endereço deve ser preenchido!");
document.form1.end.focus();
return false;
}
//validar campo mensagem
if (document.form1.menssagem.value == ""){
alert("O campo " + document.form1.menssagem.name + " deve ser preenchido!");
document.form1.menssagem.focus();
return false;
} else {
document.getElementById('bt').value ="Enviando...";
document.getElementById('bt').disabled =true;
httprequest();
}
}
function antespan(){
url = "ts.php";
document.getElementById('bt').disabled =false;
dados = 'vs';
metodo = 'GET';
obj_retorno = document.getElementById("antespan");
httprequest();
}
function click() {
if (event.button==2||event.button==3) {
oncontextmenu='return false';
}
}
document.onmousedown=click
document.oncontextmenu = new Function("return false;")

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Quando ocorre o erro na validação do e-mail é em qual linha ?

Provavelmente o erro não está aí, mas dei uma olhada rápida no código e isso não irá funcionar.

document.oncontextmenu = new Function("return false;")
O "function" é em letra minúscula e como você não vai retornar um objeto não será necessário colocar o "new"
document.oncontextmenu = function(){return false}

Link para o comentário
Compartilhar em outros sites

  • 0

Ola Jonathan

Ele no navegador não apresenta erro, simplesmente, o form para de responder, assim que algum dado é colocado no campo email.

A parte do scrip que da erro e o que colei abaixo. Quando deleto essa parte do script, o form funciona 100%, todas as validações e envio. Quando deixo essa parte no script, ele vai vaildando todos os campos acima (nome, empresa, ddd, telefone), quando chega no email, ele valida se está vazio, porém ao colocor qualquer dado no campo, o form não rola mais, nem faz o envio

//verificao de endereco eletrônico - aqui que ta o erro, se tiro essa parte, funciona 100%

$input_email = document.form1.email.value

if(! eregi("^([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([a-z,A-Z]){2,3}([0-9,a-z,A-Z])?$", $input_email ) ) {
alert ("O campo " + document.form1.email.name + " deve ser um endereco eletronico!");
document.form1.email.focus();
return false;
}

Link para o comentário
Compartilhar em outros sites

  • 0

como é que essa funcao esta sendo chamada pelo form? Usando onsubmit="return enviar()"? Tem que ver que quando uma validacao não passa, ele sempre retorna falso. Nesse seu script, o primeiro erro que ele encontra, ele já retorna um alerta falando sobre esse erro. então se quando chega no email, ele não submete mais o formulario, é porque não esta passando na validacao. Tem certeza que aquela expressao regular ali ta funcionando certo?

Sera que não teria que adicionar um "/"(barra) no inicio dessa expressao e terminar com um "/g"(barra e G)? não usei muito expressoes regulares no javascript, mas o pouco que usei, sempre tive que comecar com / e terminar com /g...

Tenta isso aew:

if(! eregi("/^([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([a-z,A-Z]){2,3}([0-9,a-z,A-Z])?$/g", $input_email ) ) {

não estou com tempo de testar aqui, mas tenta ai e diz o que que deu.

T+

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...