我想要一個沒有默認值的日期時間選擇器控件。似乎沒有可能了:-(Domino 9/Dojo 1.8 - 無默認值的日期時間選擇器
複製,創建一個空白XPage並放置一個日期時間選取的控制。在瀏覽器中打開XPage上,你會看到,它默認爲今天。
我沒有找到任何方法將默認設置爲空值我嘗試設置所有屬性/數據/默認爲0,空,空字符串等 - 沒有運氣
我試過data-dojo- probs屬性的值爲:'',這會將默認值設置爲1970-1-1,但不能爲空。
任何創意?
我想要一個沒有默認值的日期時間選擇器控件。似乎沒有可能了:-(Domino 9/Dojo 1.8 - 無默認值的日期時間選擇器
複製,創建一個空白XPage並放置一個日期時間選取的控制。在瀏覽器中打開XPage上,你會看到,它默認爲今天。
我沒有找到任何方法將默認設置爲空值我嘗試設置所有屬性/數據/默認爲0,空,空字符串等 - 沒有運氣
我試過data-dojo- probs屬性的值爲:'',這會將默認值設置爲1970-1-1,但不能爲空。
任何創意?
這是ND9一個已知的問題,報告爲SPR DEGN966F5V 。
解決此問題(來自SPR)的解決方法是在postCreate函數中修改小部件原型以防止重置值。
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);
});
下面是它工作的一個例子。
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.resources>
<xp:script clientSide="true">
<xp:this.contents><![CDATA[
require([
"dojo/_base/lang",
"ibm/xsp/widget/layout/DateTextBox"
], function(lang, DateTextBox){
var a = {};
lang.mixin(a, {
startup: function(){
this.inherited(arguments);
this.set("value", null);
}
});
DateTextBox.extend(a);
});
]]></xp:this.contents>
</xp:script>
</xp:this.resources>
<xp:inputText id="inputText1" value="#{sessionScope.inputText1}">
<xp:this.converter>
<xp:convertDateTime type="date" />
</xp:this.converter>
<xp:dateTimeHelper />
</xp:inputText>
</xp:view>
謝謝!我會將它添加到我的工具箱:) –
我不知道它是如何工作的注意事項9,但你可以用像CSJS其刪除:
var field= dojo.byId('#{id:field}')
field.value ="";
希望它有助於..
在應用我以前應用在dateTimeHelper一個的dojoType與此代碼:
<xp:dateTimeHelper id="dateTimeHelper1" dojoType="dijit.form.DateTextBox">
</xp:dateTimeHelper>
這是解決在以前的Domino版本中的問題,其中的頁面儘快刷新爲選擇器是在某些特定風格的IE中選擇。
此代碼似乎在R9上正常工作,無需解決方法。
在R9中工作,但輸入框的日曆圖標消失。 –
看看這個,它的工作原理如下:http://stackoverflow.com/questions/15632042/xpages-date-time-picker-field-defaults-to-todays-date –