我有两种形式,组织和联系。Contact 是对 Org 的响应,每个表单都有一个 XPage,可以在其中填写、保存表单等。直接打开 edit_contact.xsp 并创建文档(不是对 org 的响应)时,一切正常。
在 edit_org.xsp 上,我有一个带有 2 个事件的按钮。第一个将一些值复制到 sessionScope 中,以便我可以将它们继承到 Contact 中。第二个是“创建响应文档”事件,它创建一个新响应,其父 ID 为当前组织文档,并将用户发送到 edit_contact.xsp。按下按钮会正确更改 XPage,并且字段继承工作正常,但在联系表单上按下“提交”不会保存任何内容,也不会创建任何文档。
这个完全相同的设置在另一个数据库中可以 100% 工作,我不知道为什么它在这里不能正常工作。我想念的地方是否有一个不起眼的设置?
<xp:button value="Create Contact" id="button1" rendered="#{javascript:!document1.isEditable()}">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:actionGroup>
<xp:executeScript>
<xp:this.script>
<![CDATA[#{javascript:var doc = document1.getDocument();
sessionScope.PFirstName = doc.getFirstItem("P_Firstname").getValueString();
sessionScope.PSurname = doc.getFirstItem("P_Surname").getValueString();
sessionScope.PFamily = doc.getFirstItem("P_Family").getValueString();
sessionScope.PDOB = doc.getFirstItem("P_DOB")
sessionScope.PAGE = doc.getFirstItem("P_Age").getValueString();}]]
</xp:this.script>
</xp:executeScript>
<xp:createResponse name="/edit_contact.xsp" parentId="#{javascript:document1.getNoteID()}">
</xp:createResponse>
</xp:actionGroup>
</xp:this.action>
</xp:eventHandler>
</xp:button>`
这是一个链接,显示了我正在尝试做的事情(减去字段继承):
目前表单和视图都可以工作,但使用“响应”表单创建的文档似乎不是响应文档 - 它没有 $REF 字段。此设置在不同的数据库中完美运行 - 发生了什么?