Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos,
Estou tentando validar um formulário via javascript, verificando se ele está preenchido corretamente. Porém nada acontece (estou usando um alert() para testes de retorno).
Javascript
function validate(){
var name = document.signupform.name.value;
var last = document.signupform.lastname.value;
var cpf = document.signupform.cpf.value;
var telephone = document.signupform.telephone.value;
var email = document.signupform.email.value;
var adress = document.signupform.adress.value;
var state = document.signupform.state.value;
var city = document.signupform.city.value;
var captcha_code = document.captcha_code.city.value;
if (name==""){
alert("Todos os campos sã obrigatórios!");
}
else{
document.signupform.submit();
}
}
HTML
<form action="" method="">
<input name="name" type="text" />
<!-- entre outros inputs-->
<input type="button" class="accept" value="Continuar" onclick="validate()"/>
</form>
Obrigado pela ajuda.Muito boa dica William, mas eu só consegui encontrar erros de css de códigos que mal estão alocados em minha página, vem de plugins de rede sociais. Alguma outra ideia?
na verdade sim, vc está usando a forma:
document.form.campo
mas para isso, o teu <form> precisaria ter um atributo name="signupform".
Só que isso tb é ruim. Melhor vc fazer desta maneira:
function validate(){
var name = document.getElementById('name').value;
var last = document.getElementById('lastname').value;
//...e ai dar esses IDs nos teus inputs:
<input type="text" name="name" id="name" />Além de que, a verificação é melhor feita no evento onsubmit do form:
<form action="" method="" onsubmit="validate()">
E ai o input ficaria:
<input type="submit" class="accept" value="Continuar" />
e então para impedir que o form seja enviado:
if (name==""){
alert("Todos os campos sã obrigatórios!");
return false;
}
Logo, juntando tudo:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function id(el) {
return document.getElementById(el);
}
function validate () {
var $name = id('name'),
$phone = id('phone');
if ($name.value === ''|| $phone.value === '') {
alert('Preencha todos os campos!');
return false;
}
}
window.onload = function() {
id('form').onsubmit = function(){
return validate();
}
}
</script>
</head>
<body>
<form action="" method="" id="form">
<input type="text" name="name" id="name" />
<input type="text" name="phone" id="phone" />
<input type="submit" class="accept" value="Continuar" />
</form>
</body>
</html>Ok, deu certo aqui. Obrigado pela ajuda!
aperte Ctrl + Shift + J no Firefox e veja oq aparece no console de erros.
Leitura:
http://wbruno.com.br/javascript-puro/como-debugar-javascript-firefox-erros-comuns/