首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xpages防止CSJS中的SSJS页面加载

xpages防止CSJS中的SSJS页面加载
EN

Stack Overflow用户
提问于 2012-11-14 16:24:56
回答 1查看 1.1K关注 0票数 0

我在CSJS中有一些SSJS按钮的onclick事件。是否有任何方法可以防止此SSJS在页面加载期间执行?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-11-15 09:05:12

这可以通过检查facesContext.getRenderResponse()来完成。如果为真,则重新加载页面,否则为false。该标志没有正确设置,但为您提供了一种检查页面是否已加载的简单方法。

下面是一个示例XPage:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
   <xp:button value="Reload CSJS" id="buttonReloadCSJS">
      <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
         <xp:this.script>
            <![CDATA[#{javascript:
               facesContext.getRenderResponse()?"alert('NotOnLoad');":"alert('OnLoad')";
            }]]>
         </xp:this.script>
      </xp:eventHandler>
   </xp:button>
</xp:view>

如果您打开XPage并单击该按钮,页面将被重新加载,您将有另一个CSJS代码。

编辑:

下面是计算代码的另一种方法,仅当按钮被部分刷新时:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

   <xp:div id="refreshMe">
      <xp:button value="Reload CSJS" id="buttonReloadCSJS">
         <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="refreshMe">
            <xp:this.script>
               <![CDATA[#{javascript:
                  var ajax = new com.ibm.xsp.ajax.AjaxUtil();
                  if( ajax.isAjaxPartialRefresh(facesContext) == true){
                     return "alert('Refreshed')";
                  }
               }]]>
            </xp:this.script>
         </xp:eventHandler>
      </xp:button>
   </xp:div>

</xp:view>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13382855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档