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

时间:2017-12-18 17:59:30

标签: javascript jquery datetime

我正在创建一个表单,我在{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>

1 个答案:

答案 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;