Добрый день. Необходимо заполнить некую форму, каждый пункт которой проверяется на правильность ввода, если все поля заполнены правильно, то происходит переход на следующую страницу. Вопрос в том, что при проверке правильности меня просто не пускает на др страницу.
1 файл НТМЛ
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<link rel="stylesheet" type="text/css" href="Style1.css"/>
<script src="Script1.js" type="text/javascript"></script>
</head>
<body>
<!--<img src="images/nice-clouds.jpg" alt="Облака"/>-->
<div id="page" >
<form action="Exam_2.html" method="post" enctype="multipart/form-data" >
<fieldset title="Регистрационная форма">
<legend title="Reg info">Регистрационная форма</legend>
<p>
ФИО
<input type="text" name="fio" value="" />
</p>
<p>
Адрес
<input type="text" name="adress" value="" />
</p>
<p>
E-mail
<input type="text" name="e-mail" value="" maxlength="30" />
</p>
<p>
Телефон
<input type="text" name="phone" value="" maxlength="13" />
</p>
<input type="reset" name="Reset" value="Очистить" />
<input type="submit" name="Submit" value="Сохранить" />
</fieldset>
</form>
</div>
</body>
</html>
1 файл Javascript
// JavaScript source code
window.onload = function () {
document.forms[0].onsubmit = Verify;
}
function Verify() {
var flag = false;
var fio_tmpl = /(^[A-Z][a-z]+\s(([A-Z]\.){2}|[A-Z]{2})|^[А-Я][а-я]+\s(([А-Я]\.){2}|[А-Я]{2})){1}\s*$/;
var fio = document.forms[0].elements["fio"].value;
if (fio.search(fio_tmpl) == -1) {
flag = false;
alert("Неверный формат ФИО:\nИванов ИИ либо Иванов И.И.");
document.forms[0].elements["fio"].style.background = "red";
}
else {
flag = true;
document.forms[0].elements["fio"].style.background = "white";
}
var adress_tmpl = /^([A-Za-z0-9\s\.,-\№]+)|([А-Яа-я0-9\s\.,-\№]+)$/;
//var adress_tmpl = /^[A-Za-z]{1,50}|[А-Яа-я]{1,50}$/
var adress = document.forms[0].elements["adress"].value;
if (adress.search(adress_tmpl) == -1) {
flag = false;
alert("Неверный формат адреса:\nг.Киев, ул.Киевская, 195, кв.18");
document.forms[0].elements["adress"].style.background = "red";
}
else {
flag = true;
document.forms[0].elements["adress"].style.background = "white";
}
var email_tmpl = /^[A-Za-z](\w|-){2,20}@\w\w+\.[a-z]{2,3}\s*$/;
var email = document.forms[0].elements["e-mail"].value;
if (email.search(email_tmpl) == -1) {
flag = false;
alert("Неверный формат e-mail:\nlogin@mail.com");
document.forms[0].elements["e-mail"].style.background = "red";
}
else
document.forms[0].elements["e-mail"].style.background = "white";
var phone_tmpl = /^0[1-9]{2}\-[0-9]{3}(\-[0-9]{2}){2}$/;
var phone = document.forms[0].elements["phone"].value;
if (phone.search(phone_tmpl) == -1) {
flag = false;
alert("Неверный формат телефона:\n050-111-11-11");
document.forms[0].elements["phone"].style.background = "red";
}
else
document.forms[0].elements["phone"].style.background = "white";
if (flag) {
alert("Вы ввели все поля корректно!\nСпасибо!");
}
return false; // отмена вызова стандартного обработчика onsubmit
}
Получается эта строка return false; меня не пускает, но без нее не будет работать правильность ввода данных.
Буду очень благодарен за помощь.