【问题标题】:javascript function (input date bigger than today date)javascript函数(输入日期大于今天的日期)
【发布时间】:2016-02-20 09:35:57
【问题描述】:

我是 javascript 初学者:

我需要一个函数来检测用户是否输入了日期......如果日期小于今天的日期,则提醒他......

HTML:

 <input type="date" name="StartDate" id="userdate"  required />

我试过的JavaScript(当然没用):

function TDate() {
var UserDate = document.getElementById("userdate").value;
var ToDate = Date.now();
if (UserDate != ToDate) {
    alert("The Date must be Bigger or Equal to today date")
    return false;
}
return true;}

【问题讨论】:

  • 用户日期是什么格式?你今天想要什么?今天的用户还是您今天可能不同?
  • 今天的系统或服务器 .... 示例:用户输入 17/11/2015 但今天在服务器或系统中的日期是:18/11/2015 我需要该功能来提醒用户他插入了一个受限日期并专注于更改日期
  • 请标记最佳答案:)

标签: javascript html function date


【解决方案1】:

我假设您可以通过var selectedDate = document.getElementById("userdate").value 获取选定的 Date 对象。然后你可以比较两个日期,比如比较 2 个整数:

function TDate() {
    var selectedDate = document.getElementById("userdate").value;
    if (selectedDate < Date.now()) {
        alert("The Date must be Bigger or Equal to today date")
        return false;
    }
    return true;
}

【讨论】:

    【解决方案2】:

    我已经创建了一个小提琴

    https://jsbin.com/jidogo/edit?html,js,output

    <input type="date" name="StartDate" id="userdate" onchange="TDate()" required />
    

    JS

    function TDate() {
        var UserDate = document.getElementById("userdate").value;
        var ToDate = new Date();
    
        if (new Date(UserDate).getTime() <= ToDate.getTime()) {
              alert("The Date must be Bigger or Equal to today date");
              return false;
         }
        return true;
    }
    

    【讨论】:

    • 很好,,但是当我手动插入日期时,它会从年份部分的第一个值开始发出警报......我认为它需要一个按钮和一个(onclick)事件...... . 对吧?
    • 其实我早先这样做了,但后来改变了,因为我期望你需要验证更改,但你是对的,添加一个像 &lt;button onclick="TDate()"&gt;Validate&lt;/button&gt; 这样的按钮并从输入中删除 onchange 属性
    【解决方案3】:

    感谢Juank,我认为这比其他答案更干净:

    var now = new Date(),
        minDate = now.toISOString().substring(0,10);
    
    $('#my-date-input').prop('min', minDate);
    

    【讨论】:

      【解决方案4】:

      接受的答案按时间检查。
      由于输入类型为“日期”,毫秒为 000
      比较日期

      var variable1 = new Date();
      var variable2 = variable1.toISOString().split('T')[0];
      if (new Date($("#userdate").val()).getTime() < new Date(variable2).getTime()) {
          //input date less than todays date
      }else{
          //input date bigger than todays date
      }
      

      【讨论】:

        猜你喜欢
        • 2023-03-13
        • 2015-08-03
        • 2015-11-29
        • 2014-08-14
        • 1970-01-01
        • 2012-01-03
        • 2015-12-15
        • 2013-07-08
        • 1970-01-01
        相关资源
        最近更新 更多