我无意中发现到完全相同的问题。我的修复灵感来自于a blog post by Paul Withers on the subject,涉及到使用Dojo DateTextBox和TimeTextBox for IE。
我使用标准的日期字段:
<xp:inputText id="FejlDato" value="#{document.FejlDato}">
<xp:this.converter>
<xp:convertDateTime type="date"></xp:convertDateTime>
</xp:this.converter>
<xp:dateTimeHelper></xp:dateTimeHelper>
</xp:inputText>
而且为了添加主题ID时间字段,以对付它们在一个主题:
<xp:inputText id="FejlTid" value="#{document.FejlTid}">
<xp:this.converter>
<xp:convertDateTime type="time"></xp:convertDateTime>
</xp:this.converter>
<xp:this.themeId><![CDATA[${javascript:if (context.getUserAgent().isIE()) { "InputField.TimePicker" }}]]></xp:this.themeId>
<xp:dateTimeHelper></xp:dateTimeHelper>
</xp:inputText>
然后我用下面的主题使用dijit.form.DateTextBox和dijit.form.TimeTextBox代替标准的XPage日期和时间选取工具:
<!-- DatePicker for IE8 and IE9 -->
<resources>
<dojoModule rendered="#{javascript:context.getUserAgent().isIE()}">
<name>dijit.form.DateTextBox</name>
</dojoModule>
<dojoModule rendered="#{javascript:context.getUserAgent().isIE()}">
<name>dijit.form.TimeTextBox</name>
</dojoModule>
</resources>
<control>
<name>InputField.DateTimePicker</name>
<property>
<name>dojoType</name>
<value>#{javascript:context.getUserAgent().isIE()?'dijit.form.DateTextBox':''}</value>
</property>
</control>
<control>
<name>InputField.TimePicker</name>
<property>
<name>dojoType</name>
<value>#{javascript:context.getUserAgent().isIE()?'dijit.form.TimeTextBox':''}</value>
</property>
</control>
我已经使用了类似IE科幻变通基于保罗在过去的建议。主题方法是一个好主意。 – pipalia
我只是使用道场日期选择器,它似乎为我工作。没有理由涉及主题。 –
很高兴听到它适合你。记得接受你的问题的答案:-) –