2013-08-01 22 views
0

我试图创建一个接受mm/yy的文本框。出于某种原因,这不喜欢超过2032年的日期。谁能告诉我为什么不,以及解决方案是什么?Dijit/form/DateTextBox不喜欢2033年以后

更新:问题似乎严格是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" /> 

如果这有什么差别,下面的信息可能会有所帮助:

  • 用途道场1.8
  • 这是一个小部件模板
  • 的部分有一个postCreate修改这个小工具将fullYear约束设置为false。
  • 它不使用标准的弹出式日历,并且弹出式窗口或文本框输入日期并不重要。
  • 该问题似乎严格是2位数年份格式问题 - 当日期格式更改为MM/yyyy且fullYear为真时,它可以正常工作。
+0

我http://jsfiddle.net/psoares/pMD3S/尝试这样做,不明白的问题。什么是您的浏览器语言环境? – Philippe

+0

zh-CN + 1:00 我认为问题可能在于您的小部件没有将日期设置为2位数的年份表示 - 我将在明天修改您的jsFiddle以更好地演示问题。 – vogomatix

回答

1

如果有人仍然想知道,这是预期的行为。见documentation

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

2033是正义的窗口外,2013年和33被解读为1933年

+0

我很感激你访问了一个我忘记的问题:)。我当时在为一家金融机构工作,可能只想为该特定日期选择器实例的未来日期工作。 – vogomatix