将“今天”日期与表单中的输入日期进行比较

时间:2018-01-10 19:16:25

标签: javascript html forms date input


我如何将“今天”与输入中的另一个日期进行比较? 我正在做这样的事情,但它不起作用,无法弄清楚出了什么问题。

function ControlloGiorniPrenotazione() {
  var today = new Date();
  var date_from = document.getElementById("date_from").value;

  if (today >= date_from) {
    document.getElementById("controllo_giorni").innerHTML = "You cannot select today or the days before.";
  }

}
<html>
  <body>
  
    <form>

      <input type="date" name="date_from" oninput="ControlloGiorniPrenotazione()">
      <font color="red"><span id="controllo_giorni"></span></font>

    </form>
  
  </body>
</html>

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您尝试通过其ID获取输入元素,但它没有。您可以添加它或通过其他方式获取元素。

接下来,您应该通过调用let _ = require('underscore'); // or lodash let state = { /* object in OP */ }; let result = _.filter(state.foo, value => value.edited); 将日期字符串中的值转换为Date对象,以便您可以正确地将其与今天的日期进行比较。

&#13;
&#13;
new Date()
&#13;
function ControlloGiorniPrenotazione() {
  var today = new Date();
  var date_from = document.getElementById("date_from").value;
  date_from = new Date(date_from)
  if (today >= date_from) {
    document.getElementById("controllo_giorni").innerHTML = "You cannot select today or the days before.";
  }

}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您尝试按ID获取元素:document.getElementById("date_from"),但您的input没有id属性。将HTML中的input更改为:<input id="date_from" type="date" name="date_from" oninput="ControlloGiorniPrenotazione()">,它可以正常工作:

&#13;
&#13;
function ControlloGiorniPrenotazione() {
  var today = new Date();
  var date_from = document.getElementById("date_from").value;

  if (today >= date_from) {
    document.getElementById("controllo_giorni").innerHTML = "You cannot select today or the days before.";
  }

}
&#13;
<html>
  <body>
  
    <form>

      <input id="date_from" type="date" name="date_from" oninput="ControlloGiorniPrenotazione()">
      <font color="red"><span id="controllo_giorni"></span></font>

    </form>
  
  </body>
</html>
&#13;
&#13;
&#13;