我有一张预订表格,当有人点击图书按钮时,需要检查预订是否仍然可用。如果它可用,我希望按钮后面的SSJS代码可以处理(然后更新预订表格上的一些值),但是如果在检查预订时它已经不再可用,我想部分刷新一个不同的面板(主面板内的一个面板),因此建议用户说它不可用,他们可以找到另一个合适的预约(这可以通过提供不同的面板来完成)。
为了做到这一点,我已经在表单上按钮的部分更新中编写了要更新的元素。
var tbooked = document1.getItemValueString("booked");
if (tbooked =="Free") {
return 'mainPanel'}
else {
return 'dialogPanel'}
我已经添加了以下代码,以便在选择按钮时执行。
var tbooked = document1.getItemValueString("booked");
if (tbooked =="Free") {
Set a bunch of viewScope variables.
Also save the document
}
似乎返回要更新的面板的代码没有执行if的'else'部分 - 我是不是错误地使用了它?
答案 0 :(得分:1)
您将第一个代码段放入按钮事件处理程序的XSP.partialRefreshPost(id, ...)
属性中。此代码在之前执行,呈现的页面将发送到浏览器。这对您的情况来说为时尚早,因为此时预订始终是免费的。
最简单的方法是进行全面更新。
如果这不可行,则使用XSP.partialRefreshGet(id, ...)
和http://localhost:8080/alfresco/service/index
尝试预订,如果成功刷新mainPanel,则使用dialogPanel。