Я обнаружил 2 проблемы, когда попробовал его с вашим кодом.
Текстовое поле: - ваше текстовое поле уже содержит пробелы после загрузки - поэтому, когда вы проверяете, пусто ли оно, оно найдет содержимое и, следовательно, "заполнено"
(Institute_name == '')
Поэтому я бы рекомендовал сначала удалить начальные и конечные пробелы, чтобы проверялся только «реальный контент» (метод js trim
сделает это за вас)
( Institute_name.trim() == '')
Дата: При доступе к полю даты
var DOB = document.getElementById('dob').value;
вы уже получаете значение (например, 2018-09-22).Таким образом, двойной доступ к значению
if(!DOB.value)
всегда будет иметь значение undefined
/ false.Так что просто проверьте переменную еще раз, например, на пустую строку
if(DOB == '')
Кроме того, вы всегда можете проверить, является ли она верным введением даты (см. Обнаружение экземпляра даты «недопустимая дата» в JavaScript )
Кстати.Я бы порекомендовал заглянуть в Developer / Dev Tools вашего любимого браузера - он действительно помогает вам отлаживать js-код, проверять переменные и т. Д.: -)