Har suttit och stirrat på den här koden i en timma nu. Är ingen höjdare på Javascript men i mina ögon borde det här verkligen fungera.
function validate(){
var name, county, year_of_birth, gender, email, password;
var errorBox;
var isValid;
name = document.getElementById('name');
county = document.getElementById('county');
year_of_birth = document.getElementById('year_of_birth');
gender = document.getElementById('gender');
email = document.getElementById('email');
password = document.getElementById('password');
errorBox = document.getElementById('errorBox');
isValid = true;
if (name.value.length < 2 && isValid) {
errorBox.style.display = 'inline';
errorBox.innerHTML = 'Du måste fylla i ett namn.';
isValid = false;
} else {
errorBox.style.display = 'none';
errorBox.innerHTML = '';
}
if (isNan(county) && isValid) {
errorBox.innerHTML = 'Du måste ange ett län.';
errorBox.style.display = 'inline';
isValid = false;
} else {
errorBox.style.display = 'none';
errorBox.innerHTML = '';
}
if (isNan(year_of_birth) && isValid) {
errorBox.innerHTML = 'Du ange ett födelseår.';
errorBox.style.display = 'inline';
isValid = false;
} else {
errorBox.style.display = 'none';
errorBox.innerHTML = '';
}
if (isNan(gender) && isValid) {
errorBox.innerHTML = 'Du måste ange kön.';
errorBox.style.display = 'inline';
isValid = false;
} else {
errorBox.style.display = 'none';
errorBox.innerHTML = '';
}
if (email.value.length < 5 && isValid) {
errorBox.innerHTML = 'Du måste ange en epost-adress.';
errorBox.style.display = 'inline';
isValid = false;
} else {
errorBox.style.display = 'none';
errorBox.innerHTML = '';
}
if (password.value.length < 5 && isValid) {
errorBox.innerHTML = 'Du måste ange ett lösenord.';
errorBox.style.display = 'inline';
isValid = false;
} else {
errorBox.style.display = 'none';
errorBox.innerHTML = '';
}
return isValid;
}
<div id="errorBox" style="display: none;"></div>
<form action="index.php" method="post" onsubmit="return validate();">
<input type="text" name="name" id="name" class="TextBox" tabindex="1" />
...
</form>
Var kan felet ligga? Nu submitar den formuläret, trots att den BORDE returnera false när name inte har något värde.
Tusen tack på förhand!