【问题标题】:How to increment date and how to disable previous dates in javascript?如何增加日期以及如何在javascript中禁用以前的日期?
【发布时间】:2020-01-03 11:56:52
【问题描述】:

我正在使用 html5 日期选择器,例如 [input type="date"],

我只需要增加当前日期+1。我的意思是只显示明天日期和未来日期,当前日期和以前的日期想要进入禁用状态只显示未来日期..

请大家帮帮我..

这是我尝试过的代码。

// Disable date

var input = document.getElementById("preDate");
var today = new Date();
var day = today.getDate()+1;
var mon = new String(today.getMonth()+1); //January is 0!
var yr = today.getFullYear();

if (mon.length < 0) {
  mon = "0" + mon;
}

var date = new String(yr + '-' + mon + '-' + day);

input.disabled = false;
input.setAttribute('min', date);
<div class="form-group col-3 rfdate">
  <label class="col-sm-6 control-label p-sm-0">Refund Date</label>
  <input type="date" class="form-control" id="preDate" name="preDate" />
</div>

小提琴:Code Here..

【问题讨论】:

  • 您好,将代码行替换为下面的 var date = new String(yr + '-' + mon + '-' + day); To var date = new Date(yr + '-' + mon + '-' + day);
  • @HiteshGohel 但仍然无法正常工作 8-)

标签: javascript jquery html


【解决方案1】:

试试这个:

// Disable date

var input = document.getElementById("preDate");
var today = new Date();
var day = today.getDate()+1;
var mon = new String(today.getMonth()+1); //January is 0!
var yr = today.getFullYear();

if (mon.length > 0) {
  mon = `0${mon}`;
}
if (day < 10) {
  day = `0${day}`;
}

var date = `${yr}-${mon}-${day}`;

input.disabled = false;
input.setAttribute('min', date);
input.value = date;
console.log(date);
<div class="form-group col-3 rfdate">
  <label class="col-sm-6 control-label p-sm-0">Refund Date</label>
  <input type="date" class="form-control" id="preDate" name="preDate" />
</div>

【讨论】:

  • 设置input.value = date
【解决方案2】:

明天的日期是这样智能创建的:

var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多