Написал код из примера книги Робина Никсона "Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5"(3-е изд.)
Сам код вот:
<!DOCTYPE html>
<html>
<head>
<title>Check form</title>
<style>
.signup {
border: 1px solid #999999;
font: normal 14px helvetica;
color: #444444;
}
</style>
<script>
function validate(form) {
fail = validateForename(form.forename.value)
fail += validateSurname(form.surename.value)
fail += validateUsername(form.username.value)
fail += validatePassword(form.password.value)
fail += validateAge(form.age.value)
fail += validateEmail(form.email.value)
if(fail == "") return true
else {alert(fail); return false}
}
function validateForename(field)
{
return (field == "") ? "Not see forename. \n" : ""
}
function validateSurename(field)
{
return (field == "") ? "Not see surename. \n" : ""
}
function validateUsername(field)
{
if(field == "") return "Not see username. \n"
else if(field.lenght < 5) return "Username are very small.\n"
else if(/[^a-zA-Z0-9_-]/.test(field)) return "In Username have been only a-z, A-Z, 0-9, - and _. \n"
return ""
}
function validatePassword(field)
{
if(field == "") return "Not see password. \n"
else if(field.length < 6) return "Password must be more 6 symbol. \n"
else if(!/[a-z]/.test(field) || !/[A-Z]/.test(field) || !/[0-9]/.test(field)) return "Password needs 1 symbol from a-z, A-Z and 0-9. \n"
return ""
}
function validateAge(field)
{
if(isNaN(field)) return "Not see Age. \n"
else if(field < 18 || field > 110) return "Age must be between 18 and 110. \n"
return ""
}
function validateEmail(field)
{
if (field == "") return "Not see E-mail adress. \n"
else if(!((field.indexOf(".") > 0) && (field.indexOf("@") >0)) || /[^a-zA-Z0-9.@_-]/.test(field)) return "E-mail has wrong. \n"
return ""
}
</script>
</head>
<body>
<table class="signup" border="0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee">
<form method="post" action="validate.html" onSubmit="return validate(this)">
<tr><td>Name</td><td><input type="text" maxlenght="32" name="forename"></td></tr>
<tr><td>Surename</td><td><input type="text" maxlenght="32" name="surename"></td></tr>
<tr><td>Username</td><td><input type="text" maxlenght="16" name="username"></td></tr>
<tr><td>Password</td><td><input type="text" maxlenght="12" name="password"></td></tr>
<tr><td>Age</td><td><input type="text" maxlenght="3" name="age"></td></tr>
<tr><td>E-Mail</td><td><input type="text" maxlenght="64" name="email"></td></tr>
<tr><td colspan="2" align="center">
<input type="submit" value="Register"></td></tr>
</form>
</table>
</body>
</html>
По идее он должен проверять и в случае любых недопустимых символов вызывать окно-предупреждение, но это не происходит даже с всеми пустыми полями. В чем может быть проблема? Подскажите пожалуйста, сам разобраться не смог. Заранее спасибо.