我正在创建一个表单,我在其中使用datetime-local
作为2个输入字段 - StartDate和EndDate。
如何确保EndDate不低于StartDate。我写了下面的JS,但它没有在选择日期/甚至点击页面的提交按钮。
请指教,并感谢您花时间阅读本文:)
function checkDate() {
var dateString = document.getElementById('StartDate').value;
var dateString2 = document.getElementById('EndDate').value;
var DateStart = new Date(dateString);
var DateEnd = new Date(dateString2);
if (DateEnd > DateStart) {
alert("End date cannot be less than Start date.");
return false;
}
return true;
}
<input type="datetime-local" class="form-control name_list" name="StartDate" id="StartDate" required="required" onclick="checkDate()" />
</div>
<div class="col-lg-1 mb-0">
<h6>Deployment End *</h6>
</div>
<div class="col-lg-3 mb-0">
<input type="datetime-local" class="form-control name_list" name="EndDate" id="EndDate" required="required" onclick="checkDate()" />
</div>
使用click事件处理程序仅在您单击表单时激活,在您没有任何有用信息时触发。替代方案是“onchange”,当您完成输入时将触发。
<input type="datetime-local" class="form-control name_list" name="StartDate" id="StartDate" required="required" onchange="checkDate()" />
<input type="datetime-local" class="form-control name_list" name="EndDate" id="EndDate" required="required" onchange="checkDate()" />
如果您希望确定与开始日期相比将来的结束日期,则需要交换比较运算符。
if (DateEnd < DateStart) {
alert("End date cannot be less than Start date.");
return false;
}
return true;