我想从客户端JavaScript中设置一个XPages范围变量。我有一个XPage,其中包含使用Dojo显示或隐藏的几个部分。在这个XPage中,我有一个执行某些服务器端JavaScript的按钮。一旦按钮后面的SSJS执行,默认情况下可见的XPage部分将再次可见,而不是在点击按钮之前立即可见的部分。我希望点击按钮之前可见的部分在按钮后面的SSJS执行后也可见。xpages - 如何从客户端JavaScript设置范围变量?
要做到这一点,我想过使用范围变量 - 使用客户端JavaScript来计算当前可见的XPage的哪一部分,将该值设置为范围变量,并在onClientLoad
事件中读取范围变量XPage再次使此部分可见(并隐藏所有其他部分)。 但是,我没有找到从客户端JavaScript设置范围变量的方法。我曾尝试加入
var xyz = "#{javascript:viewScope.put('sectionDisplay','Section')}"
到按钮的onClick
客户端事件,但不管按钮是否被点击或没有这台范围变量。
在XPages之前,我会使用querystring将变量从一个页面传递到另一个页面。我现在该怎么做?
是的,我使用dojo cookie解决了这个问题,而不是范围变量。在我的XPage中,我有几个Dojo内容窗格,其中只有一个是可见的。现在,当我使用dojo显示dojo内容窗格时,我使用dojo.cookie存储了窗格的名称。当XPages在按钮后面的SSJS执行后重新加载时,我使用XPage的onClientLoad事件中的dojo.cookie来确定应该显示哪个Dojo内容窗格。 – 2013-04-11 13:48:20
@TonyGuiheen嗯,有趣的想法:-)饼干在SSJS中可用作饼图。 – 2013-04-16 21:18:23