javascript - 如何检查日期时间本地输入字段是否小于其他日期时间本地字段

标签 javascript jquery datetime

我正在创建一个表单,其中我使用 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>

最佳答案

使用单击事件处理程序仅在您单击表单时激活,在您没有任何有用信息时触发。另一种选择是“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;

关于javascript - 如何检查日期时间本地输入字段是否小于其他日期时间本地字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47873960/

相关文章:

javascript - 触发父级的点击事件

javascript - 当 React 遇到嵌套在另一个数组中时会发生什么?

javascript - Chrome 中奇怪的日期行为

javascript - jQuery ajax 不返回整个对象

javascript - 错误: Can't set headers after they are sent NodeJs 4

javascript - 单击带有事件监听器和父节点的主体关闭菜单

javascript - jQuery UI 选项卡 - 显示所有选项卡

Jquery Mobile 出现长选择多个选项和数据 native 菜单 ="false"的问题

perl - 为什么 DateTime 会在时间戳中添加 T 分隔符?

javascript - 计算两个时间的天差