    function checkform(f) {
 var errMSG = "";
 // цикл ниже перебирает все элементы в объекте f,
 // переданном в качестве параметра
 // функции, в данном случае - наша форма.            
 for (var i = 0; i<f.elements.length; i++)
   // если текущий элемент имеет атрибут required
   // т.е. обязательный для заполнения
   if (null!=f.elements[i].getAttribute("required"))
   {   
      // проверяем, заполнен ли он в форме
      if (isEmpty(f.elements[i].value)) // пустой
           errMSG += "  " + f.elements[i].name + "\n"; // формируем сообщение
                                                      // об ошибке, перечисляя
                                                      // незаполненные поля
      if (!check_it(f.elements[i].value)) {
            errMSG += "  " + f.elements[i].name + "\n"; }                                             
       // если сообщение об ошибке не пусто,
       // выводим его, и возвращаем false    
      if ("" != errMSG) {
          alert("Заполнены не все обязательные поля:\n");
          return false;
       }
    }
}
  
  function isEmpty(str) {
  for (var i = 0; i < str.length; i++)
     if (" " != str.charAt(i))
         return false;
     return true;
 }
  
 function check_it(str) {
  for (var i = 0; i < str.length; i++)
     if ((str.charCodeAt(i)<48) || (str.charCodeAt(i)>57))
         return false;
     return true;
 
 }


