Xpages 日期时间选取器字段默认为今天的日期



运行ND9服务器,当浏览带有日期字段的Xpage时,该字段的默认值始终是今天的日期。

在8.5.3服务器上,控件是这样呈现的:

<input class="dijitReset dijitInputInner" dojoattachpoint="textbox,focusNode" autocomplete="off" type="text" aria-valuenow="undefined" aria-invalid="false" id="view:_id1:_id2:main:fromTDate" tabindex="0" value="">
<input style="display: none;" type="text" name="view:_id1:_id2:main:fromTDate">

在ND9服务器上,相同的控件呈现如下:

<input class="dijitReset dijitInputInner" type="text" autocomplete="off" data-dojo-attach-point="textbox,focusNode" role="textbox" aria-haspopup="true" aria-invalid="false" tabindex="0" id="view:_id1:_id2:main:fromTDate" maxlength="10" size="10" value="">
<input type="hidden" name="view:_id1:_id2:main:fromTDate" value="2013-03-26">

我已经能够通过添加一个Dojo日期文本框来规避它,但这个功能一定是错误的,对吗?

这实际上是v9.0中的一个修复。今天默认出现的日期现在是预期的行为

将其添加到XPage中,行为就像8.5.3

<xp:this.resources>
<xp:script clientSide="true">
<xp:this.contents><![CDATA[
require([
"dojo/_base/lang",
"ibm/xsp/widget/layout/DateTextBox",
"ibm/xsp/widget/layout/TimeTextBox",
"ibm/xsp/widget/layout/DateTimeTextBox"
], function(lang, DateTextBox, TimeTextBox, DateTimeTextBox){
var a = {};
lang.mixin(a, {
postCreate: function(){
this.inherited(arguments);
}
});
DateTextBox.extend(a);
TimeTextBox.extend(a);
DateTimeTextBox.extend(a);
});
]]></xp:this.contents>
</xp:script>
</xp:this.resources>

感谢IBM的快速响应。

最新更新