我有一個partialrefresh函數,並希望通過傳遞不同的頁面的ID來重用它,但它不會工作。是我有這個腳本錯誤或partialrefresh不能除了變量?partialrefreshPost與傳遞變量
function ReloadPageId(Id) {
XSP.partialRefreshPost("#{id:" + Id + "}", {});
}
我有一個partialrefresh函數,並希望通過傳遞不同的頁面的ID來重用它,但它不會工作。是我有這個腳本錯誤或partialrefresh不能除了變量?partialrefreshPost與傳遞變量
function ReloadPageId(Id) {
XSP.partialRefreshPost("#{id:" + Id + "}", {});
}
我相信這是行不通的,因爲你的Id
變量在表達式語言"#{id:}"
計算的時間不確定。
當你將Id傳入你的ReloadPageId函數時,它已經被計算出來了。
<input id="getID" type="hidden" value="#{id:theIdYouWant}" />
然後調用你的函數是這樣的::
ReloadPageId(document.getElementById("getID").value);
並且最後你的函數使用客戶端的JavaScript嘗試把輸入標籤上您的XPage這樣搶計算的標識看起來像這樣:
function ReloadPageId(Id) {
XSP.partialRefreshPost(Id);
}
是的,「#{id:...}」已經在服務器上計算出來了,而執行則在客戶端上。而不是使用輸入字段,只要在你的CSJS代碼中使用'ReloadPageId(「#{id:theIdYouWant}」)''來調用函數。 –
@KnutHerrmann感謝您的補充。我習慣於使用輸入字段作爲「#{id:...}」的解決方法,而不是在腳本庫中進行評估。 – jpishko
我明白了,在腳本庫中使用的好點。 –
「它不會工作」是什麼意思?請創建一個[最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) – tmthydvnprt
我的意思是它沒有按預期刷新,要麼迴應任何錯誤消息。 –