Xpages 日历默认值

Xpages 日历默认值,xpages,dojo,Xpages,Dojo,我试图在dijit.Calendar中设置当前日期,但由于某些原因,它没有设置,而且我也没有收到任何错误。我还试图获取所选值以填充字段或会话范围变量,但这也没有发生-只需获取一个dom.byId()为空错误 <div data-dojo-type="dijit/Calendar" id="myCal"> <script type="dojo/method" data-dojo-event="onLoad" data-dojo-args="value">

我试图在dijit.Calendar中设置当前日期,但由于某些原因,它没有设置,而且我也没有收到任何错误。我还试图获取所选值以填充字段或会话范围变量,但这也没有发生-只需获取一个
dom.byId()
为空错误

<div data-dojo-type="dijit/Calendar" id="myCal">
<script type="dojo/method" data-dojo-event="onLoad" data-dojo-args="value">
                require(["dojo/dom", "dojo/date/locale"],
                function(dom, locale){
                dom.byId('myCal').set('value',new Date());});

</script>
<script type="dojo/method" data-dojo-event="onChange"
                    data-dojo-args="value">
                    require(["dojo/dom", "dojo/date/locale"],
                    function(dom, locale){
                    dom.byId('formatted').innerHTML =
                    locale.format(value, {formatLength: 'medium',
                    selector:'date'}); });
</script>
</div>

require([“dojo/dom”,“dojo/date/locale”],
函数(dom、区域设置){
dom.byId('myCal').set('value',new Date());});
require([“dojo/dom”,“dojo/date/locale”],
函数(dom、区域设置){
dom.byId('formatted').innerHTML=
format(值,{formatLength:'medium',
选择器:'date'});});

有人知道我做错了什么吗?

我还在notes 8.5.3 dojo 1.6中的一个应用程序中使用日历小部件。因此,它在您的xpage中可能不起作用,但您可以尝试一下。以下是我得出的结论:

首先,不要忘记设置
dojoForm=“true”,
dojoParseOnLoad=“true”,
dojoTheme=“true”。
然后导入小部件所需的资源(我使用了定制的calendar.css):

在日期小部件中显示所选日期:

    <xp:text escape="true" id="computedField1" 
value="#{javascript: return 'Hallo' + sessionScope.selectedDate;}">
        </xp:text>


在我的应用程序中,这个小部件有点大,因为我使用了一个菜单让用户在一个日期选择不同的操作,所以我从我的大菜单中提取了这段代码,并在一个空的Xpage上测试了它。希望有帮助=)

看起来一点都不像Xpages的问题;我会帮你取下那个标签。如果我错了,请添加您的问题与Xpages相关的方面的信息日历位于xPage中,我正在尝试设置加载时的值。然后,我想选择一个日期,并让它填充我的xPage上的一个字段。在上面的代码中,我可以用日期填充HTML元素,但当我尝试对字段执行相同操作时,它失败了;对不起。您能否再展示一些代码示例,说明如何尝试与Xpages控件和/或Notes字段通信?也许我们会知道你想要达到什么目的,失败在哪里让我来弄清楚你需要一个日历,你可以选择一个日期,当前日期作为默认值,你想用它设置会话范围战争吗?为什么不使用一个简单的日期输入字段,它有一个现成的dojo日期选择?另外,您使用的Notes版本是什么?这看起来像dojo 1.9,但例如notes 8.5.3附带了dojo 1.6Hi-这正是我试图实现的目标。我使用的是Domino9.01和Dojo1.83。我有一个日历小部件,当点击它时,它将返回日期值,然后显示该日期的日历页面。我不想使用日期输入字段,因为它看起来是naff。稍后我会发布更多我的代码,因为我有一个会议要去……干杯迈克尔-明天早上第一件事就是试试:-)
<xp:panel id="calendarHolder" style="width:200px">
        <xp:scriptBlock id="Calendar">
            <xp:this.value><![CDATA[XSP.addOnLoad(function(){
        dojo.require("dojox.widget.Calendar");
        dojo.require("dojo.date","dijit.registry"); 
        dojo.ready(function(){      
            // create the Calendar:
            var selectedDate = null;

            var calendar_body = new dojox.widget.Calendar({
                    value: new Date(),
                    isDisabledDate:dojo.date.locale.isWeekend,
                    onValueSelected: function(date){calendarDateClicked(date);
                    }
                }, "calendar_body");


            //create Click action
            function calendarDateClicked(date){
                var d = new Date(date);
                var month = '' + (d.getMonth() + 1);
                var day = '' + d.getDate();
                var year = d.getFullYear();

                if (month.length < 2) month = '0' + month;
                if (day.length < 2) day = '0' + day;

                var dateString = [year,month,day].join("");         
                dojo.byId('#{id:hiddenCalWidgetSelectedDate}').value = dateString;
                XSP.partialRefreshPost("#{id:computedField1}",{});//Post Value to server
            }
        });
    });]]></xp:this.value>
        </xp:scriptBlock>

    <div id="calendar_body">
        <xp:inputText
            id="hiddenCalWidgetSelectedDate"
            style="display:none;"
            value="#{sessionScope.selectedDate}">
            <xp:this.defaultValue><![CDATA[#{javascript://
var d = new Date(/*Today*/);
var month = '' + (d.getMonth() + 1);
var day = '' + d.getDate();
var year = d.getFullYear();

    if (month.length < 2) month = '0' + month;
    if (day.length < 2) day = '0' + day;

    return [year,month,day].join("");  }]]></xp:this.defaultValue>
            </xp:inputText>
        </div>
        </xp:panel>
    <xp:text escape="true" id="computedField1" 
value="#{javascript: return 'Hallo' + sessionScope.selectedDate;}">
        </xp:text>