2014-06-19 35 views
1

我有一个动态视图,使用viewScope变量总计屏幕上显示的内容,我想让它重置我的viewScope变量。它没有,它似乎没有执行我放在那里的任何脚本。pagerControls是否有onclick事件?

<xp:pager partialRefresh="true" id="upperPager" 
for="viewRowRepeat" styleClass="tsDynamicViewPager" pageCount="8" 
alwaysCalculateLast="true"> 
<xp:pagerControl id="pagerControl4" type="First"> 
    <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="viewRowRepeat"> 
     <xp:this.action><![CDATA[#{javascript:dBar.info("pagerControl4 clicked"); 
clearColumnTotals();}]]></xp:this.action> 
      <xp:this.script><![CDATA[alert("Clicked!");]]></xp:this.script> 
     </xp:eventHandler> 
    </xp:pagerControl> 
    <xp:pagerControl id="pagerControl5" type="Group"> 
     <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> 
      <xp:this.action><![CDATA[#{javascript:dBar.info("pagerControl5 clicked"); 
clearColumnTotals();}]]></xp:this.action> 
      <xp:this.script><![CDATA[alert("Clicked!");]]></xp:this.script> 
     </xp:eventHandler> 
    </xp:pagerControl> 
    <xp:pagerControl id="pagerControl6" type="Last"> 
     <xp:eventHandler event="onclick" 
      submit="true" refreshMode="complete"> 
      <xp:this.action><![CDATA[#{javascript:dBar.info("pagerControl6 clicked"); 
clearColumnTotals();}]]></xp:this.action> 
      <xp:this.script><![CDATA[alert("Clicked!");]]></xp:this.script> 
     </xp:eventHandler> 
    </xp:pagerControl> 
</xp:pager> 

不用说了,我不知道如果我incorrrectly编码,或是否有不应该成为任何pagerControls onclick事件。我知道IDE没有为寻呼机本身显示一个。

+0

如果你不能让onlick工作,那么也许你可以做一个客户端脚本,当单击pager按钮时,它会执行ajax调用,以便指向更新viewScope变量并重定向回当前的XAgent页。似乎很麻烦,但如果这是你需要做的...... –

+0

但是,麻烦是,我无法得到任何东西来为pagercontrol运行onclick。 CSJS或SSJS中没有任何内容。 –

+1

如果传呼机按钮有一个与之关联的类,您可以使用jQuery。例如,把它放在“pleaseWork”类的范围内,然后在jQuery中,选择所有跨度内的所有按钮,并使用.pleaseWork类(您可以使用jQuery选择器获得非常细粒度),然后使用运行ajax的函数当按钮被点击时调用。加载页面时加载。它必须是可能的,因为一旦在页面上所有的控件都只是DOM的一部分。提示:首先通过点击时创建一个警报(“你点击了我”)消息来工作,然后在ajax作品上工作。 –

回答

2

连接您的寻呼机控制与道场onclick事件执行客户端代码被点击导航控件时:呈现寻呼机控制

<xp:eventHandler 
    event="onClientLoad" 
    submit="false"> 
    <xp:this.script><![CDATA[ 
     dojo.query(".xspFirst").forEach(function(node) { 
      dojo.connect(node, "onclick", function() { 
       alert("First clicked"); 
      }); 
     }); 
     dojo.query(".xspGroup").forEach(function(node) { 
      dojo.connect(node, "onclick", function() { 
       alert("Group clicked"); 
      }); 
     }); 
     ... 
    ]]> 
    </xp:this.script> 
</xp:eventHandler> 

类是“XSP” +型像“xspFirst”,“xspGroup”和“xspLast”。使用这些类来获取控件。