我在使用對話框更改底層值時需要重複刷新時遇到問題。如何刷新使用對話框更新的重複圖案
這是一個包含重複的DIV:
<xp:div style="display:none;">
<xp:inputText id="linkages" value="#{procureDoc.Linkages}" multipleTrim="true" style="color:cornflowerblue;" multipleSeparator=";">
</xp:inputText>
</xp:div>
<xp:label value="Linkages:" id="linkageLabel" style="font-weight:bold;"></xp:label>
<xp:div id="linkageDiv">
<ul>
<xp:repeat id="linkagesDisplayRepeat" rows="30" var="rowData" indexVar="index" value="#{procureDoc.Linkages}">
<li>
<xp:text escape="true" id="computedField7">
<xp:this.value><![CDATA[#{javascript:rowData;}]]></xp:this.value>
</xp:text>
</li>
</xp:repeat>
</ul>
</xp:div>
這裏是從該對話框保存按鈕。它確實發生在另一個自定義控件中,但我不認爲這是問題所在。
<xp:button value="Save" id="saveButton">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.script><![CDATA[var linkageSelection = document.getElementById("#{id:linkageComboBox}").value;
var linkageUpload = "";
if (linkageSelection == "Use Category") {
linkageUpload = document.getElementById("#{id:linkageCategoryComboBox}").value;
}
else { linkageUpload = linkageSelection;}
var currentLinkages = document.getElementById("#{id:linkages}").value;
if (currentLinkages == "") {
document.getElementById("#{id:linkages}").value = linkageUpload;
} else {
document.getElementById("#{id:linkages}").value = document.getElementById("#{id:linkages}").value + ";" + linkageUpload;
}
XSP.closeDialog('#{id:linkageDialog}');]]></xp:this.script>
</xp:eventHandler>
</xp:button>
我可以把一個按鈕上剛剛刷新的XPage,它會刷新我重複用在對話框中選擇的值,而只是用我的保存按鈕並沒有做到這一點。
我確定我錯過了一些簡單的東西,但我只是看不到它。
雖然refreshMode =「complete」不應該刷新嗎? –
確實,它應該加載整個頁面。重複設置tp局部刷新模式? –
我不明白「重複設置爲部分刷新模式」。所有代碼都在上面,我無法找到重複本身的部分刷新設置。 –