我有兩種形式,組織和聯繫人。聯繫人是對組織的迴應,每個表單都有一個XPage,表單可以填寫,保存等。當直接打開edit_contact.xsp並創建文檔(而不是對組織的迴應)時,一切正常。通過按鈕創建響應文檔
在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字段。這種設置完全適用於不同的數據庫 - 發生了什麼?
你能分享一些代碼? –
你可能有一個驗證問題,但沒有xp:messages控件來顯示錯誤消息?這可以解釋爲什麼當您提交表單時「沒有」發生。 –
我注意到你正在調用document1上的按鈕並使用doc來響應。你需要將IgnoreResponseParams設置爲True嗎? – RoyRumaner