HTML прост.
<select name="visit_mm" id="visit_mm" class="required">
<option value=""> </option>
<option value="">1</option>...
</select>
<select name="visit_dd" id="visit_dd" class="required">
<option value=""> </option>
<option value="1">1</option>
...
<option value="12">12</option>
</select>
<input type="text" name="visit_yy" id="visit_yy" size="4" maxlength="4" value="" class="required">
... то же самое для полей dob, только разные идентификаторы.
<select name="dob_mm" id="dob_mm" class="required">
<option value=""> </option>
<option value="1">1</option>
...
<option value="12">12</option>
</select>
<select name="dob_dd" id="dob_dd" class="required">
<option value=""> </option>
<option value="1">1</option>
...
<option value="31">31</option>
</select>
<input type="text" name="dob_yy" id="dob_yy" size="4" maxlength="4" value="" class="required">
Поле «Только чтение» выглядит так:
<input type="text" readonly class="readonly" name="delayed_start" id="delayed_start" size="4" maxlength="4" value="">
и есть выборка с id = "рекомендуемый_визит"
<select name="recommended_visit" id="recommended_visit" class="required">
<option value=""> </option>
</select>
Когда значение этого параметра изменяется, в поле только для чтения должен отображаться возраст, рассчитанный с использованием полей для посещений и dob.
Убедиться в том, что дата действительна (исходя из того, сколько дней в определенные месяцы, проверяется високосные годы и т. Д.), Вовсе не нужно. подойдет любая дата.