令人尴尬的是,我经常遇到这些“ newby”问题,因为我迟迟没有参加XPages牛仔竞技比赛。请保持温柔。
这是BASIC功能,需要具有一个最初隐藏在新页面上的字段,直到将另一个组合框设置为某个值为止(请考虑任何通用的“其他”字段,仅当选择“其他”时才显示)在主字段中。)
看..我的面板:
<xp:panel
id="mod"
rendered="#{javascript:document1.getItemValueString('approval') === 'modify'}">
<div class="container">
<div class="row">
<div class="col-md-8">
<div class="form-group">
<label for="modification">
Describe modification
</label>
<xe:djTextarea
id="modification"
styleClass="form-control"
cols="185"
rows="25">
</xe:djTextarea>
</div>
</div>
</div>
</div>
</xp:panel>
然后,我的组合框(请参阅onchange):
<xp:comboBox
id="approval"
styleClass="form-control"
style="width:400px;">
<xp:this.onchange>
<![CDATA[XSP.partialRefreshPost("#{id:mod}");]]>
</xp:this.onchange>
<xp:selectItem
itemLabel="Select one"
itemValue="">
</xp:selectItem>
<xp:selectItem
itemLabel="Approve"
itemValue="approve">
</xp:selectItem>
<xp:selectItem
itemLabel="Modify"
itemValue="modify">
</xp:selectItem>
当我在浏览器中更改组合框的值时,在对话框中出现此错误:
我有一种感觉,一旦我对如何处理SSJS和元素ID有了更好的了解,我的工作效率就会大大提高。如果有人链接到一篇很好地解释了这一点的文章,我很想知道。
经过漫长的跋涉之后,问题是如何使部分刷新工作?
一如既往,我们非常感谢您的反馈。
答案 0 :(得分:2)
问题在于“ mod”面板最初并未呈现,因此onchange事件不可用/不可见。
将“ mod”面板放置在“ modParent”面板中,并使其成为partialRefresh的目标。