XPages - использование SSJS для обновления поля даты

Я пытаюсь использовать SSJS для обновления поля даты. Это нормально работает, если не выбран параметр «Использовать всплывающее окно выбора даты / времени». Однако, если этот параметр отмечен, обновление не работает. Кто-нибудь может объяснить, почему это так? Вот мой код:

<xp:panel rendered="true">  
<xp:button value="Set Date Value" id="button1">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="partial" refreshId="DateField">
        <xp:this.action><![CDATA[#{javascript:document1.setValue("DateField","01.01.1970");}]]></xp:this.action>
    </xp:eventHandler></xp:button>&#160;&#160;&#160;
<xp:inputText id="DateField" value="#{document1.DateField}">
    <xp:this.converter>
        <xp:convertDateTime type="date"></xp:convertDateTime>
    </xp:this.converter>

    <xp:dateTimeHelper></xp:dateTimeHelper>
</xp:inputText>
</xp:panel>

person Community    schedule 24.01.2014    source источник


Ответы (1)


Чтобы иметь возможность установить поле даты, вам необходимо установить его с использованием правильного формата даты

document1.setValue("DateField","01.01.1970")

Формат даты должен быть java.util.Date, попробуйте это

document1.setValue("DateField",new Date("01.01.1970"))

Но я бы посоветовал сделать это таким образом, потому что тогда ваш код не привязан к тому, что сервер использует эти конкретные настройки локали.

var date=new Date();
date.setFullYear(1970)
date.setMonth(0) //remember months starts with 0 
date.setDate(1)
document1.setValue("DateField",date)

Одно дело в том, что у меня это не работает при работе в клиенте Notes, но это может быть ошибкой.

person Fredrik Norling    schedule 24.01.2014