xpages将重复字段中的值设置为字段
我试图从repeat控件上的字段为字段(不在repeat控件内)设置一个值 “重复”对话框中的字段:xpages将重复字段中的值设置为字段,xpages,Xpages,我试图从repeat控件上的字段为字段(不在repeat控件内)设置一个值 “重复”对话框中的字段: <xp:inputText id="inputText2" disabled="true"> <xp:this.value><![CDATA[#{viewScope.field_2[index]}]]></xp:this.value> <xp:eventHandler event="onchange" subm
<xp:inputText id="inputText2" disabled="true">
<xp:this.value><![CDATA[#{viewScope.field_2[index]}]]></xp:this.value>
<xp:eventHandler event="onchange" submit="true"
refreshMode="partial" refreshId="sus">
<xp:this.action><![CDATA[#{javascript:getComponent("inputText4").setValue("1234");}]]></xp:this.action>
</xp:eventHandler>
</xp:inputText>
正如您所注意到的,目标字段位于面板内,id=“sus”
目标字段也绑定到表单字段
但是没有赋值。如何实现这一点?组件只是数据模型背后的可视化。始终绑定控件并跟随模型值,而不是组件。禁用的inputText无法激发值,在上面的代码段中,您有
disabled=“true”
。无法触发onchange事件
这将有助于:
<xp:inputText id="inputText2" disabled="false">
<xp:this.value><![CDATA[#{viewScope.field_2[index]}]]></xp:this.value>
<xp:eventHandler event="onchange" submit="true"
refreshMode="partial" refreshId="sus">
<xp:this.action><![CDATA[#{javascript:viewScope.someValue=42;}]]></xp:this.action>
</xp:eventHandler>
</xp:inputText>
您的目标控件将如下所示:
<xp:inputText id="inputText4" value="#{viewScope.someValue}">
</xp:inputText>
如果您的目标控件绑定到其他对象(例如,{document1.test}
),则需要更新该对象。(document1.replaceItemValue(“test”,42)
)
再次强调三个重要方面:
让我们知道它是如何进行的您的SSJ是否被触发的?@PaulStephenWithers在同一事件中,我添加了另一行:getComponent(“inputText1”).setValue(“1234”)//其中inputText1是一个重复字段。已为该字段添加了值,但未为上述字段添加值(不在重复控制范围内)。重复控制范围内是否也有InputExt4控件?否。InputExt4不在重复控制范围内谢谢您的回答。1.我在一个字段的onChange事件中添加了问题代码,该字段没有被禁用,但仍然没有工作。2.将值添加到viewScope后,如何将其传递到已绑定到表单字段的相应字段(从repeat外部)。完整的代码将生成完整的答案。您没有提到目标字段已绑定到数据源。不会改变很多解决方案。与数据对话,而不是与用户界面对话!以上更新的解决方案感谢您的精彩提示和解释。祝您有个美好的一天。