这很难解释,所以我感谢您阅读本文。
我有一个带有三个标签的xPages应用。每个选项卡都有自己的自定义控件。在第一个自定义控件上,我有以下代码:
<xp:this.data>
<xp:dominoDocument var="vendorApplication" formName="frmVendorApplication"
action="editDocument" computeWithForm="onsave">
<xp:this.documentId><![CDATA[#{javascript:( param.vendorAppNoteID || "");}]]>
</xp:this.documentId>
</xp:dominoDocument>
</xp:this.data>
在最后一个标签上,我有以下代码来保存文档
vendorApplication.save();
var vendorAppDocument = vendorApplication.getDocument();
// a bunch of code that does vendorAppDocument.ReplaceItemValues( ..... )
vendorAppDocument.save();
我遇到的问题是当我尝试保存一个新文档时,我一直到vendorAppDocument.save()然后我得到一个关于它为null的错误。如果我正在编辑现有文档,那很好。
我怀疑这与在新文档中没有设置的vendorApplication(XSPDocument)有关。如何将vendorApplication设置为当前的XSPDocument?或者你看到其他东西丢失了吗?
答案 0 :(得分:1)
确保使用getDocument(true)使后端文档与前端文档中所做的更改同步。请执行以下操作:
vendorApplication.save();
var vendorAppDocument = vendorApplication.getDocument(true);
// a bunch of code that does vendorAppDocument.ReplaceItemValues( ..... )
vendorAppDocument.save();
答案 1 :(得分:0)
原来问题就像删除action =“editDocument”
一样简单<xp:this.data>
<xp:dominoDocument var="vendorApplication" formName="frmVendorApplication"
action="editDocument" computeWithForm="onsave">