Скрыть ввод по умолчанию до тех пор, пока он не будет запущен
У меня есть 2 даты, дата начала и дата окончания.
Если конечная дата равна 1/1/2018, то начальный день по умолчанию всегда на 1 "день" больше конечного дня, т. е. в данном случае 1/2/2017. Я пытаюсь установить ввод в качестве даты начала, чтобы быть невидимым, но автоматически +1 день даты окончания. Однако пользователь может изменить его на любую дату, которую он хочет. Я пытаюсь скрыть поле, если только не было выбрано значение.
Что я уже пробовал:
Я установил метки для даты. Я попытался установить type ="hidden", но на самом деле я не пытаюсь скрыть поле, а только скрываю ввод до тех пор, пока оно не будет выбрано. Пользователь по-прежнему должен иметь возможность запускать страницу без выбора даты начала.
<label3>Start of Lease </label3> <input id="startDate" type="date" ><br/> </br> <label3>End of Lease</label3> <input id="endDate" onchange="PopulateRentPaymentDates()" type="date" > <br/> </td>
Здесь я настраиваю его так, чтобы, если пользователь не выбрал дату, он принимал конечную дату + 1.
if (document.getElementById("startDate")) stDate = document.getElementById("startDate").value; else stDate = document.getElementById("startDate").value = getCurrentDay(sDate);
Это мой расчет на дату начала.
var endDate = document.getElementById("endDate").value; if (endDate){ var etDate = new Date(endDate); var eDay = etDate.getUTCDate()+1; var eMonth = etDate.getUTCMonth()+1; var eYear = etDate.getUTCFullYear()-1; var sDate = eYear + "-" + eMonth + "-" + eDay; if (stDate == null) { sDate.setMonth(sDate.getDay() - parseInt(paymentDays)); }
Это выход, который я пытаюсь скрыть. Любая помощь будет очень признательна. Спасибо.
if (document.getElementById("startDate")) document.getElementById("startDate").value = getCurrentDay(sDate);
F-ES Sitecore
Всякий раз, когда вам нужно прочитать дату начала, если поле пусто, то вычислите дату начала от даты окончания в этой точке. Нет необходимости пытаться обновить вещи, когда дата окончания меняется.
Member 13289364
Да. Именно этим я сейчас и занимаюсь. Когда поле пусто, оно вычисляет его, но я пытаюсь скрыть результат.
F-ES Sitecore
Что плохого в том, как вы делаете это сейчас? Это лучший способ справиться с ним.
Member 13289364
Это связано с результатами проекта. Если пользователь не знает дату начала и все еще печатает отчет, а платежи обычно всегда происходят за день до даты окончания, но поскольку мы не знаем, когда была фактическая дата, мы делаем предположение, поэтому мы не хотим отображать дату, если она не была выбрана вручную. Но если они вводят дату начала, то мы можем использовать ее в качестве входных данных.