html 如何在锁定日期中添加一天?

jutyujz0  于 2023-03-11  发布在  其他
关注(0)|答案(1)|浏览(140)

你好
我正在创建一个机票预订应用程序,用户将选择何时到何时他会预订航班。现在我正在与输入数据故障排除,因为我出发的日子,我想禁用选择比预订日期早的一天的选项,我也想禁用选择返回日期相同的出发日或更早的选项。我已经找到了这个项目的第一部分,但我不'我不知道如何做第二部分。我有,也许我可以添加相同的条件,因为在离开的一天+一天。下面我插入的代码,我已经创建。
超文本标记语言

` <label for="departureDate"></label>
        <p>Departure date</p>
        <input type="date" name="departureDate" id="departureDate">

    <label for="arrivalDate"></label>
        <p>Arrival date</p>
        <input type="date" name="arrivalDate" id="arrivalDate">
    `

日本

`const departureDate = new Date().toISOString().split('T')[0]
const inputDepartureDate = document.querySelector('#departureDate')
console.log(inputDepartureDate)
inputDepartureDate.setAttribute('min', departureDate)
console.log(departureDate)

document.getElementById('arrivalDate').addEventListener('change', () => {
    const arrivalDate = departureDate + 1
    console.log(arrivalDate)
    console.log(arrivalDate.setDate(departureDate.getDate() + 1))

    const inputArrivalDate = document.querySelector('#arrivalDate')
    inputArrivalDate.setAttribute('min', arrivalDate)
    console.log(arrivalDate)
})
`

我认为moment.js包可以帮助我解决这个问题,但是有人知道没有它怎么办吗?Moment.js
我搜索了互联网,并试图使用chatgpt找到一个解决方案,但我没有找到任何东西。

cedebl8k

cedebl8k1#

在删除评论的用户的帮助下,我找到了解决方法。下面我把代码转换成JavaScript - Html保持不变
JS系统

Date.prototype.addDays = function(days) {
  const date = new Date(this.valueOf());
  date.setDate(date.getDate() + days);
  return date;

}

const departureDate = new Date().toISOString().split('T')[0]
const inputDepartureDate = document.querySelector('#departureDate')
inputDepartureDate.setAttribute('min', departureDate)

const inputArrivalDate = document.querySelector('#arrivalDate')
inputArrivalDate.setAttribute('min', new Date(departureDate).addDays(1).toISOString().split('T')[0])

inputDepartureDate.addEventListener('change', () => {
    inputArrivalDate.setAttribute('min', new Date(inputDepartureDate.value).addDays(1).toISOString().split('T')[0])

相关问题