我不是您正在寻找的 XPage 大师,但我有一个解决方法,=)
据我所知,如果您将外部面板设置为 readonly="true" 您所有的内部 inputText 框将<inputField>
在您的 html 中输出 no 只是一个<span>
. 如果您想要一个看起来像输入但只是禁用输入的字段,那也很烦人。如果您将 todisabled="true"
和 showReadonlyAsDisabled="true" 设置为可以实现这一点。
我建议设置所有 readonly="false" 并使用 dojo.query 在页面加载时设置禁用的属性,例如:
<xp:scriptBlock>
<xp:this.value><![CDATA[dojo.ready(function(){
dojo.query(".input").forEach(function(node, index, array){
node.disabled = true;
}
)
});]]></xp:this.value>
</xp:scriptBlock>
<xp:panel>
<xp:inputText id="inputText1" value="#{viewScope.in1}" styleClass="input"
defaultValue="Txt0" >
</xp:inputText>
<xp:inputText id="inputText2" value="#{viewScope.in2}" styleClass="input"
defaultValue="Txt1">
</xp:inputText>
<xp:inputText id="inputText3" value="#{viewScope.in3}" styleClass="input"
defaultValue="Txt2">
</xp:inputText>
</xp:panel>
此解决方案的另一个好处是,您可以在客户端将它们设置为可编辑,而无需任何服务器调用。希望能帮助到你。