【问题标题】:Calendar validation for previous date [duplicate]上一个日期的日历验证[重复]
【发布时间】:2015-11-13 13:35:14
【问题描述】:

如果用户从日历中选择了以前的日期,我需要能够添加验证(警报框)。

今天的日期是13/11/2015。如果用户选择12/11/2015,它应该显示一个警告框,上面写着"Please enter a valid date."

我在网上查过,似乎找不到与此有关的任何内容。

这可以用 javascript 完成吗?

<input type="date" id="leaveDate">
<script>
     alert("Please enter a valid date.");
</script>

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

考虑到您需要 javascript 中的解决方案,您可以尝试使用 onchange 函数。

<input type='date' onchange="validateDate()" id='mydate'></input>

<script>
function validateDate() {
    var userdate = new Date(document.getElementById("mydate").value).toJSON().slice(0,10);
    var today = new Date().toJSON().slice(0,10);
    if(userdate < today){
      alert('Your message');
    }
}
</script>

PS:将“Your message”替换为您要显示的文字。

【讨论】:

  • 当我选择今天的日期时。它给了我一个警告框?为什么?
  • 糟糕..!!那是因为我的解决方案是比较当前日期和时间,而不仅仅是日期。让我更新解决方案。
【解决方案2】:

如果您不希望用户选择过去的日期,那么我建议您使用 datepicker 像这样禁用它:

$("#mydate").datepicker({ minDate: 0 });

但是,如果您打算执行警报消息方法,那么线程:Check if date is in the past Javascript 正在执行您正在寻找的操作。

【讨论】:

  • 反对者,请留下评论! :)
  • 它应该显示一个警告框,上面写着“请输入有效日期”。 .不是OP问的:/
  • @Haketo:- 我知道 OP 的要求。事实上,这就是为什么我回答说If you dont want the user to select the past dates,因为警报消息只是为了限制用户输入过去的日期。使用警报对我来说似乎不是很有效率。
  • 出于教育目的,我也投了反对票,对不起。
猜你喜欢
  • 2016-02-12
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
  • 2012-07-25
  • 2018-08-16
  • 2020-05-23
  • 2012-10-14
相关资源
最近更新 更多