当前位置: 首页 > 知识库问答 >
问题:

如何在html(输入类型日期)和带有条件的javascript中设置日期?

万嘉石
2023-03-14

我使用html和js在提货日期列中获取今天的日期。html

<label for="inputState" class="form-label">Date</label>
<input type="date" id="PickUpDate" class="form-select">

js公司

<script>
        var today = new Date();
        var dd = today.getDate();
        var mm = today.getMonth() + 1;
        var yyyy = today.getFullYear();
        if (dd < 10) {
            dd = '0' + dd
        }
        if (mm < 10) {
            mm = '0' + mm
        }

        PickUpDate = yyyy + '-' + mm + '-' + dd;
        document.getElementById("PickUpDate").setAttribute("min", PickUpDate);
    </script>

我想创建另一个字段DropOffDate并从用户那里获取输入。但我想启用pickupdate 2天后的日期。如何使用html和javascript实现这一点。我正在asp中使用此功能。net核心应用程序。

共有2个答案

葛阳华
2023-03-14

例如,您可以在日期更改时分配min属性

const pickUpDate = document.getElementById('pickUpDate'),
  dropOffDate = document.getElementById('dropOffDate');

pickUpDate.onchange = function() {
  const date = this.valueAsDate;
  date.setDate(date.getDate() + 2);
  dropOffDate.min = date.getFullYear().toString() + '-' + (date.getMonth() + 1).toString().padStart(2, 0) + '-' + date.getDate().toString().padStart(2, 0);
};
<input type="date" id="pickUpDate" />
<input type="date" id="dropOffDate" />
燕智
2023-03-14

这就是你想要实现的事情吗?设置衰减日期元素的初始状态,然后将事件侦听器分配给拾取元素-当发生更改时,您可以根据需要编辑衰减值和属性。

const pad=function(i) {
    return ( parseInt(i)<10 ) ? '0' + parseInt(i) : parseInt(i);
};

var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();




PickUpDate = yyyy + '-' + pad(mm) + '-' + pad(dd);
document.getElementById("PickUpDate").setAttribute("min", PickUpDate);

// set initial minimum date for dropoff
DropOffDate = yyyy + '-' + pad(mm) + '-' + pad( dd + 2 );
document.getElementById("DropOffDate").setAttribute("min", DropOffDate);


// add event listener to the pickup - change properties & value of droppoff
// when this changes.
document.getElementById("PickUpDate").addEventListener('change',function(e){
  let dropoff=new Date( this.value );
      dropoff.setDate( dropoff.getDate() + 2 );
  
  dropoff=[ dropoff.getFullYear(), pad( dropoff.getMonth() + 1 ), pad( dropoff.getDate() ) ].join('-');

  let input=document.getElementById("DropOffDate");
      input.setAttribute('min', dropoff );
      input.value=dropoff;
});
label{display:block;padding:0.25rem;margin:1rem;width:50%;}
label input{float:right}
<label for="inputState" class="form-label">
  Pick-Up Date
  <input type="date" id="PickUpDate" class="form-select" />
</label>

<label for="inputState" class="form-label">
  Drop-Off Date
  <input type="date" id="DropOffDate" class="form-select" />
</label>
 类似资料:
  • 我使用HTML5输入日期和输入时间进行ionic开发。默认情况下,它绑定为ISO日期字符串并更改为UTC日期时间。在我看来,这似乎是错误的,因为当用户选择日期2016-06-06时,它可能已成为2016-06-07或2016-06-05,具体取决于时区偏移。输入类型=时间的类似情况。 我的意图是使ISO字符串中的日期保留为用户选择的日期,而不是用时区差来抵消它。 类似于输入datetime本地,但

  • 是否有任何直接的方法将日期设置为变量,但作为输入?我的意思是我不知道日期在设计时,用户应该给它。我尝试了以下代码,但它不起作用:Calendar mydate=new GregorianCalendar(int year,int month,int day);

  • 我正在使用apache poi 3.8创建一个excel文件。这个excel文件需要包含一些日期。 我正在尝试将日期写入excel文件,格式为excel类型“date”。但我总是得到一个“自定义”类型。我需要使用“日期”类型,因此它将根据用户设置进行本地化。 我尝试了以下方法: Apache poi日期格式 Apache POI将Date本地化到Excel单元格 但它不起作用。 这是我的代码: 我

  • 我有一个HTML5日期输入,我希望它的值在默认情况下设置为我的模型中的日期属性的值。我对格式化不太在意,因为Chrome似乎根据我的区域设置来决定对我来说,但是理想的格式应该是一致的。 不停摆弄 这是我设置输入的方式: 这在Chrome上运行良好,默认情况下我看到以下内容: (我仍然不太明白,如果Chrome仍然根据我的区域设置对其进行格式化,为什么必须在中给出该值,但这是另一个问题。) 我的问题

  • 问题内容: 我需要将日期添加到我的实体中,然后让用户以Web形式进行设置。默认情况下,此字段需要填写今天的日期。 显示正确的默认日期设置 显示没有任何值的日期选择器(注意:String startDate =“ 2016-08-01”;) 生成400错误(错误请求)(注意:Date startDate = new Date();) 因此,问题是:如何使用百里香作为输入日期? 如何使用Date()数

  • 我有两个输入字段fromDate和toDate(都是date)。我使用datepicker作为输入字段fromDate。toDate是只读的,并且依赖于fromDate。也就是说,toDate的日期是6+。例如,如果fromDate是11/30/2014,则toDate是12/6/2014。 我的jsp代码是 和js代码为: 谢谢