Validação de Campos em Javascript e envio de form(problema)

4 respostas
P

Fala ai galera, estou com o seguinte problema, estou fazendo um projeto em jsp, onde quero realizar o insert de informações de um formulário de cadastro.
Eu sei que não é o melhor jeito mais funciona da seguinte maneira, exite um formlário para o preenchimento chamado (cadastro_administrador.jsp)… e dentro desse formulário tenho um action=“cadastro_administrador_ok.jsp”… onde as informações são inseridas no banco de dados.
Até então funcionando.

O formulário não tinha validação de campos em javascript… então implementei a validação da seguinte forma .
Esse é o java script de validação .

function main() {

if (validaNome() && validaSexo() && validaRua() && validaCidade()) {

document.f.submit();

}

}
function validaNome () {

if (document.f.nome.value.length == 0) {

document.getElementById(msgNome).innerHTML = Campo nome obrigatorio!;

document.getElementById(nome).style.background = “#FFCCCC;

document.f.nome.focus();

return false;

}

else {

return true;

}

}
function validaSexo () {

if (document.f.sexo.value.length == 0) {

document.getElementById(msgSexo).innerHTML = Campo sexo obrigatorio!;

document.getElementById(sexo).style.background = “#FFCCCC;

document.f.sexo.focus();

return false;

}

else {

return true;

}

}
function validaRua () {

if (document.f.rua.value.length == 0) {

document.getElementById(msgRua).innerHTML = Campo rua obrigatorio!;

document.getElementById(rua).style.background = “#FFCCCC;

document.f.rua.focus();

return false;

}

else {

return true;

}

}
function validaCidade () {

if (document.f.cidade.value.length == 0) {

document.getElementById(msgCidade).innerHTML = Campo cidade obrigatorio!;

document.getElementById(cidade).style.background = “#FFCCCC;

document.f.rua.focus();

return false;

}

else {

return true;

}

}
function limparDiv (str1, str2) {

document.getElementById(str1).style.background = “#fff”;

document.getElementById(str2).innerHTML = “”;

}

A validação de campos em branco esta funcionando. mais o form não está sendo enviado .

O codigo do form do cadastro para envio ao java script ficou :

Quem puder ajudar com dicas ou algo parecido muito obrigado

4 Respostas

R

Primeiramente arrume seu código, insira entre as tags [ code ]
verifique se está correto isto:

document.f.submit();

f é o nome do seu formulário

P
function main() { 
if (validaNome() && validaSexo() && validaRua() && validaCidade()) { 
document.f.submit(); 
} 
} 

function validaNome () { 
if (document.f.nome.value.length == 0) { 
document.getElementById("msgNome").innerHTML = "Campo nome obrigatorio!"; 
document.getElementById("nome").style.background = "#FFCCCC"; 
document.f.nome.focus(); 
return false; 
} 
else { 
return true; 
} 
} 


function validaSexo () { 
if (document.f.sexo.value.length == 0) { 
document.getElementById("msgSexo").innerHTML = "Campo sexo obrigatorio!"; 
document.getElementById("sexo").style.background = "#FFCCCC"; 
document.f.sexo.focus(); 
return false; 
} 
else { 
return true; 
} 
} 

function validaRua () { 
if (document.f.rua.value.length == 0) { 
document.getElementById("msgRua").innerHTML = "Campo rua obrigatorio!"; 
document.getElementById("rua").style.background = "#FFCCCC"; 
document.f.rua.focus(); 
return false; 
} 
else { 
return true; 
} 
} 

function validaCidade () { 
if (document.f.cidade.value.length == 0) { 
document.getElementById("msgCidade").innerHTML = "Campo cidade obrigatorio!"; 
document.getElementById("cidade").style.background = "#FFCCCC"; 
document.f.rua.focus(); 
return false; 
} 
else { 
return true; 
} 
} 

function limparDiv (str1, str2) { 
document.getElementById(str1).style.background = "#fff"; 
document.getElementById(str2).innerHTML = ""; 
}
<input type="button" onclick="main()" id="Incluir" value="Incluir" />

f é sim o nome do formulário

R

troque

function main() { if (validaNome() && validaSexo() && validaRua() && validaCidade()) { document.f.submit(); } }

para

function main() { if (true) { document.f.submit(); } }

verifique se está enviando corretamente. Caso sim, faça:

function main() { if ((validaNome() && validaSexo()) && (validaRua() && validaCidade())) { document.f.submit(); } }

P

rafaduke … funcionou … show de bola … o que estava acontecendo era que ele estava fazendo o teste em cada função do javascript … "e teria que passar por cada uma "… porém tinha função que não era utilizada ainda… mais reformulei ela toda … e agora esta funcionando …

vlw
abraços

Criado 22 de março de 2012
Ultima resposta 23 de mar. de 2012
Respostas 4
Participantes 2