Код вашей формы не включен, поэтому я не могу говорить о проблеме с серверной частью / базой данных, но причина, по которой снятие флажка влияет только на одно поле, заключается в том, что ваш оператор else
изменяет только одно значение, а не оба:
entry_date.value = '';
Добавление соответствующего оператора для сброса второго поля решит эту проблему:
expiration_date.value = '';
Не имеет отношения к рассматриваемой проблеме, но ваш второй <label>
соответствует entry_date
вместо expiration_date
(исправлено в приведенном ниже фрагменте).
function onCheck(checkbox) {
var entry_date = document.getElementById('entry_date');
var expiration_date = document.getElementById('expiration_date');
entry_date.disabled = checkbox.checked;
expiration_date.disabled = checkbox.checked;
if (checkbox.checked) {
//entry_date.value = new Date().toISOString().substr(0, 10);
//expiration_date.value = new Date().toISOString().substr(0, 10);
entry_date.valueAsDate = new Date();
expiration_date.valueAsDate = new Date();
} else {
entry_date.value = '';
expiration_date.value = '';
}
}
Day Guest<br>
<input type="checkbox" id="myCheck" name="dayguest" onclick="onCheck(this);">
<!--If checkbox is checked date box is disabled-->
<br>
<!--Gets today's date and puts it as max-->
<label for="entry_date">Arrival Date</label>
<input type="date" id="entry_date" name="entry_date">
<br>
<label for="expiration_date">Departure Date</label>
<input type="date" id="expiration_date" name="expiration_date">