У меня есть скрипт, который проверяет, являются ли определенные элементы формы пустыми.
Элементы формы никогда не бывают «нулевыми», хотя элемент, который является элементом управления формой, может не иметь значения (или, точнее, значение может быть пустой строкой), что более или менее эквивалентно «нулю».
В вашем HTML у вас есть:
> <form name ="dob" id="dobform">
> <select id="d">
> <option value="null">Day</option>
> </select>
Обратите внимание, что в HTML 4.01 (текущий стандарт HTML) для значения элемента управления, отправляемого при отправке формы, оно должно иметь имя, поэтому я бы заменил атрибут id атрибутом name и используйте более полезное значение, чем «d» («день» кажется разумным).
Кроме того, в браузерах часто встречается то, что если ни у какого параметра нет атрибута selected , первый параметр становится выбранным (хотя это не требуется стандартом HTML и может не соответствовать действительности для всех браузеры). Таким образом, во многих браузерах значение выбора d всегда будет «нулевым», хотя программно может быть установлено другое значение. Если вы хотите убедиться, что по умолчанию выбран первый параметр, присвойте ему выбранный атрибут:
<select name="day">
<option value="null" selected>Day
<!-- more options -->
</select>
Рекомендуется обращаться к элементам управления формы как к именованным свойствам формы. Чтобы проверить, выбрал ли пользователь какое-либо значение, отличное от значения по умолчанию, вы можете использовать такой тест (при условии, что select с id = "d" имеет name = "day"):
var form = document.getElementById('dobform');
if (form.day.value == 'null') {
// the control with name "day" has a value of the string "null"
}
Остальные элементы управления должны обрабатываться таким же образом.