月份为31天时input日期控件typemonth时日期出错

4次阅读

共计 330 个字符,预计需要花费 1 分钟才能阅读完成。

最近在使用 input 的时间控件时,在 type=month 是遇到一个奇怪的问题,在此记录一下。


上述的 type 类型都可调用系统本地的时间控件,如果当天是某个月份的 31 号时,选择前一个月或者后一个月的时候都无法选择,如果当前月份是 7 月 31 日,选择 6 月份,显示依然是 7 月,这是因为 6 月并没有 31 天,js 设置为下一个有 31 天的月份,即 7 月。
首先把日期设置为某个月的 31 号,在此点击选择时

由上图可看出 不是 31 天的月份都不能正常输出所选择的日期。由此找到了问题的根源。。。
我的解决办法是 判断是 31 天的月份时,强制给他的 date 设置为 30 号,因为我需要的年月,并不是具体日期,所以此办法可行

当然了,如果你需要的是具体日期,type=date 是不存在这个问题的,希望大家绕坑而行

正文完
 0