Xpages - 重复控制字段不可编辑

时间:2013-07-08 22:30:10

标签: controls xpages repeat

我使用此问题中的示例作为起点Getting values from repeat control

以上链接示例中的字段为: <xp:inputText id="inputText1" loaded="true"> <xp:this.value><![CDATA[${javascript:var fieldName = "Help_" + varcollection; return '#{viewScope.' + fieldName + '}';}]]></xp:this.value> <xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="computedField1"></xp:eventHandler></xp:inputText>

我现在拥有的字段代码是上面的修改版本:

<xp:inputText id="inputText1" loaded="true"> <xp:this.value><![CDATA[#{javascript:var fieldName = "Tmp_" + @ReplaceSubstring(varcollection," ",""); return '#{viewScope.' + @ReplaceSubstring(fieldName," ","") + '}';}]]></xp:this.value> <xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="panel1" /></xp:inputText>

但出于某种原因,这不是一个可编辑的领域,任何想法为什么?

另外,虽然上面的想法很好,如果我在一行中有4个可编辑的字段,我每行必须创建4个viewScope变量?是否有其他方法来存储字段值?

在Domino 8.5.3上运行

1 个答案:

答案 0 :(得分:1)

替换#{javascript:with $ {javascript。 或者将值中的代码更改为onLoad(与#和$之间的更改相同),这会使您的字段再次可编辑。

而不是每行使用4个或更多范围变量而你最终不知道有多少你可以使用implements com.ibm.xsp.model.DataObject的Bean。 请参阅Link。实现DataObject接口的好处是您可以通过EL直接访问beanData。