XPages 中的日期选取器可以对编辑框禁用,但不能对选取器按钮禁用



我可以在XPages中动态禁用DatePicker,并通过javascript禁用="true"。 但是,它仅禁用编辑框,而不禁用选取器按钮。该按钮仍然有效。

如何也禁用该按钮?

<xp:inputText id="date1"
defaultValue="#{javascript:@Today()}">
<xp:dateTimeHelper id="dateTimeHelper1"></xp:dateTimeHelper>
<xp:this.converter>
<xp:convertDateTime type="date"
dateStyle="full">
</xp:convertDateTime>
</xp:this.converter>
</xp:inputText>

禁用时,

document.getElementById("#{id:date1}").disabled="true";

启用时,

document.getElementById("#{id:date1}").disabled="";

最安全的方法是在服务器端禁用组件。

<xp:button value="disable" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="date1">
<xp:this.action><![CDATA[#{javascript:viewScope.datedisabled = true}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:button value="enable" id="button2">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="date1">
<xp:this.action><![CDATA[#{javascript:viewScope.datedisabled = false}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:inputText id="date1" defaultValue="#{javascript:@Today()}"
disabled="#{viewScope.datedisabled}">
<xp:dateTimeHelper id="dateTimeHelper2"></xp:dateTimeHelper>
<xp:this.converter>
<xp:convertDateTime type="date" dateStyle="full">
</xp:convertDateTime>
</xp:this.converter>
</xp:inputText>

它包括:输入字段和日期按钮。无论取决于主题的组件如何呈现,它都将始终有效。

您仍然可以尝试使用客户端JavaScript代码来完成它,但我不建议这样做,除非您确定永远不会更改应用程序的主题。

最新更新