在XPages扩展库对话框中使用XSP.partialRefreshPost函数

在XPages扩展库对话框中使用XSP.partialRefreshPost函数,xpages,xpages-extlib,Xpages,Xpages Extlib,在xe:dialog(XPages扩展库对话框)中,我想使用XSP.partialRefreshPost函数,但刷新时输入的值丢失 下面的示例演示了该问题 ComboBox1、InputExt1、Combox2、InputExt2:确定,但不在xe:对话框中 ComboBox3,InputExt3:可以,但不使用XSP.partialRefreshPost ComboBox4,inputExt4:NOK,因为它在xe:dialog中使用XSP.partialRefreshPost函数 我试图

在xe:dialog(XPages扩展库对话框)中,我想使用XSP.partialRefreshPost函数,但刷新时输入的值丢失

下面的示例演示了该问题

  • ComboBox1、InputExt1、Combox2、InputExt2:确定,但不在xe:对话框中
  • ComboBox3,InputExt3:可以,但不使用XSP.partialRefreshPost
  • ComboBox4,inputExt4:NOK,因为它在xe:dialog中使用XSP.partialRefreshPost函数
我试图更改xe:dialog的属性,但没有成功

如何在xe:对话框中使用XSP.partialRefreshPost使刷新正常

谢谢



partialRefreshPost
中无法按预期工作,例如,当您在组合框中选择一个值时,partialRefreshPost会在更改事件中将所选值发送到服务器,但服务器的响应包含旧值,并且组合框值会跳回旧值。即使像范围变量一样将字段绑定到数据也没有帮助

但有一个解决办法。将参数execId添加到
partialRefreshPost

XSP.partialRefreshPost("#{id:comboBox4}", 
       {execId: "#{id:comboBox4}", immediate: true})

指定要刷新的元素,在本例中为相同的元素(comboBox4)。这样,它将像预期的那样工作-就像在对话框之外。

这是完整的源代码吗?我看不到附加的数据源,因为您的值可能会丢失,因为服务器无法在内存中保存任何值。为什么在InputExt2的onchange事件期间对InputExt2进行部分刷新?。而且,就像奥利弗提到的,数据存储在哪里?您至少应该使用一个作用域变量来保存数据。这只是一个显示部分刷新问题的示例