2
votes

Running a ND9 server and when browsing a Xpage with a date field, the default value for this field is always today's date.

On a 8.5.3 server the control is rendered like this:

<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">

On a ND9 server the same control renders like this:

<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">

I've been able to circumvent it by adding a Dojo Date Text Box instead but this feature must be wrong, right?

2
It's probably a bug in R9, you should open up an support issue about it.Fredrik Norling
Some advocates of UX design suggest that date fields should have sample values to show the date format expected, so it's up to discussion. But Fredrik is right: support will tellstwissel

2 Answers

4
votes

This was actually a fix put into v9.0. Today's date appearing by default is now the expected behaviour

1
votes

Add this to your XPage and the behavior is like in 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>

Thanks IBM for the fast response.