<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content='text/html; charset=windows-1251'>
<meta name="Generator" content='EditPlus 2.20.211'>
<meta name="Author" content='Ciber SLasH'>
<title>JavaScript :: Проверка форм (GET)</title>
<script type='text/javascript'>
/** Проверка форм
@param1 Object — ссылка на элемент FORM;
@param2 Array — массив проверяемых элементов. Пример: ['select', 'input']
*/
function checkForm(obj, elems) {
var element, pattern;
for (var i = 0; i < obj.elements.length; i++) { // пробегаемся по всем элементам формы
element = obj.elements[i];
// Проверяем только нужные поля
if (elems != undefined)
if (elems.join().indexOf(element.type) < 0) continue;
// И только если есть чего говорить юзеру в случае ошибки
if (!element.getAttribute("check_message")) continue;
if (pattern = element.getAttribute("check_pattern")) { // если задан рег
pattern = new RegExp(pattern, "g");
if (!pattern.test(element.value)) {
alert(element.getAttribute("check_message"));
element.focus();
return false;
}
} else if(/^\s*$/.test(element.value)) { // иначе просто проверка что поле не пустое
alert(element.getAttribute("check_message"));
element.focus();
return false;
}
}
return true;
}
</script>
</head>
<body>
<form method="GET" action='script.htm' onSubmit='return checkForm(this)'>
<input type="text" name="dummy"> Не проверяется<br>
<input type="text" name="name" check_message="Имя !!!"> Имя<br>
<input type="text" name="e-mail" check_pattern="^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$" check_message="Мыло !!!"> e-mail<br>
<textarea name="message" check_message="Мессага !!!"></textarea><br>
<input type="submit" value="submit">
</form>
</html>