function isEmpty(str) {
   for (var i = 0; i < str.length; i++)
      if (" " != str.charAt(i))
          return false;
      return true;
}
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-1].value + "\n"; // формируем сообщение
                                                       // об ошибке, перечисляя
                                                       // незаполненные поля
 // если сообщение об ошибке не пусто,
        // выводим его, и возвращаем false 
        if ("" != errMSG) {
            alert("Sie fullten das Feld nicht:\n" + errMSG);
            return false;
        }
}
