如何检查datetime-local输入字段不小于其他datetime-local字段

问题描述 投票:0回答:1

我正在创建一个表单,我在其中使用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>
javascript jquery datetime
1个回答
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;
© www.soinside.com 2019 - 2024. All rights reserved.