0

我正在尝试创建一个接受 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 为真时,它工作正常。
4

1 回答 1

1

如果有人仍然想知道,这是预期的行为。请参阅文档

当使用两位数年份时,对于 yy 和 yyyy 模式,根据当前年份前 80 年和后 20 年的滑动窗口选择世纪。

2033 刚好在 2013 年的那个窗口之外,而 33 被解释为 1933。

于 2015-12-08T20:25:40.223 回答