0

我以this question中的示例为起点从重复控制中获取值

上面链接中的示例字段是: <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>

但由于某种原因,它不是一个可编辑的字段,知道为什么吗?

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

在 Domino 8.5.3 上运行

4

1 回答 1

1

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

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

于 2013-07-09T05:26:18.620 回答