我有一个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
我的意思是它没有按预期刷新,要么回应任何错误消息。 –