【发布时间】:2013-08-01 15:08:11
【问题描述】:
我正在尝试创建一个接受 mm/yy 的文本框。出于某种原因,这不喜欢 2032 年以后的日期。谁能告诉我为什么不喜欢以及解决方案是什么?
更新:问题似乎是严格意义上的 2 位数年份问题。
<input type="text" class="miniTextBox" id="${id}_Date" name="${id}_Date" maxlength="5"
data-dojo-attach-point="indate"
data-dojo-type="dijit/form/DateTextBox"
data-dojo-props="constraints:{fullYear: false, datePattern: 'MM/yy', max: '2099-12-31'},
popupClass: 'dojox.widget.MonthAndYearlyCalendar'"
promptMessage="Example: 10/14" />
如果有任何不同,以下信息可能会有所帮助:
- 使用 Dojo 1.8
- 这是小部件模板的一部分
- 对此小部件进行了 postCreate 修改,以将 fullYear 约束设置为 false。
- 它不使用标准的弹出日历,无论是弹出日期还是文本框输入日期都没有关系。
- 问题似乎是严格意义上的 2 位数年份格式问题 - 当日期格式更改为 MM/yyyy 并且 fullYear 为 true 时,它可以正常工作。
【问题讨论】:
-
我在jsfiddle.net/psoares/pMD3S 中尝试过,但没有发现问题。您的浏览器区域设置是什么?
-
en - GMT+1:00 我认为问题可能在于您的小部件没有将日期设置为 2 位数年份表示 - 我明天将修改您的 jsFiddle 以演示问题更好。
标签: javascript dojo year2038