XPages 中的 DatePicker 可以为编辑框禁用,但不能为选择器按钮禁用
DatePicker in XPages can be disabled for editbox but can't be done for the picker button
我可以使用 javascript 的 disabled="true" 动态禁用 XPages 中的 DatePicker。
但是,它仅对编辑框禁用,而不对选择器按钮禁用。该按钮仍然有效。
我怎样才能同时禁用该按钮?
<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 代码来完成它,但我不推荐它,除非您确定您永远不会更改应用程序的主题。
我可以使用 javascript 的 disabled="true" 动态禁用 XPages 中的 DatePicker。 但是,它仅对编辑框禁用,而不对选择器按钮禁用。该按钮仍然有效。
我怎样才能同时禁用该按钮?
<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 代码来完成它,但我不推荐它,除非您确定您永远不会更改应用程序的主题。