私は部分リフレッシュのための機能を持っていました。別のページのIDを渡して再利用したいのですが、うまくいきません。私はこのスクリプトを間違っていたのですか、またはpartialrefreshは変数を除いてできませんでしたか?partialrefreshPostと変数を渡す
function ReloadPageId(Id) {
XSP.partialRefreshPost("#{id:" + Id + "}", {});
}
私は部分リフレッシュのための機能を持っていました。別のページのIDを渡して再利用したいのですが、うまくいきません。私はこのスクリプトを間違っていたのですか、またはpartialrefreshは変数を除いてできませんでしたか?partialrefreshPostと変数を渡す
function ReloadPageId(Id) {
XSP.partialRefreshPost("#{id:" + Id + "}", {});
}
私はあなたのId
変数が式言語"#{id:}"
が計算された時点で定義されていないので、それが機能していないと信じています。
あなたのReloadPageId関数に `Id 'を渡すとき、既に計算されていなければなりません。このようなあなたのXPage上の入力タグを入れてみてくださいJavaScriptのクライアント側を使用して計算されたイドをつかむために:
<input id="getID" type="hidden" value="#{id:theIdYouWant}" />
その後は、このようなあなたの関数を呼び出す:
ReloadPageId(document.getElementById("getID").value);
そして最後に、あなたの関数
function ReloadPageId(Id) {
XSP.partialRefreshPost(Id);
}
はい、 "#{id:...}"はすでにサーバー上で計算されていますが、実行はクライアント側で行われます。入力フィールドを使用するのではなく、あなたのCSJSコードで必要なところで、 'ReloadPageId("#{id:theIdYouWant} ")という関数を呼び出すだけです。 –
@KnutHerrmannそれを追加していただきありがとうございます。スクリプトライブラリで評価されない "#{id:...}"の回避策として、入力フィールドを使用するという習慣がありました。 – jpishko
スクリプト・ライブラリーでの使用には良い点があります。 –
「それは機能しません」とはどういう意味ですか? – tmthydvnprt
私は期待どおりに更新されなかったことを意味し、エラーメッセージに応答します。 –