2014-06-19 38 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」。使用這些類來獲取控件。