我正在创建一个表单,我在{2}输入字段使用datetime-local
- 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>
答案 0 :(得分:1)
使用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;