<!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>