2016-05-21 7 views
1

複数の要素で部分リフレッシュを行う際にブログ投稿の多くを読んだことがありますが、うまく動作しないようです。Xpagesで複数のアイテムを部分的にリフレッシュする方法

2つのフィールドと1つのボタンを備えた「おもちゃ」の例を作成しました。両方のフィールドは、sessionScopeカウンタにバインドされています。ボタンはカウンターをインクリメントし、包含パネル上で部分リフレッシュを行います。

パネルにない最初のフィールドで部分的にリフレッシュしたいのですが[本当のXpageでは2つのフィールドがフォーム上で非常に離れています。

これを動作させるためにさまざまなことを試しましたが、うまくいきませんでした。これも可能ですか?

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
    xmlns:xe="http://www.ibm.com/xsp/coreex" 
    xmlns:xc="http://www.ibm.com/xsp/custom" 
    style="background-position:center left" 
    xmlns:on="http://www.openntf.org/domino/xsp" viewState="nostate" 
    xmlns:debug="http://www.openntf.org/xsp/debugtoolbar"> 

    First Var<br></br> 

    <xp:text escape="true" id="computedField1" value="#{sessionScope.number}"> 
    </xp:text> 

     <br></br> 
     <xp:br></xp:br> 
     <br></br> 

    Second Var<xp:panel id="pnl1"> 
     <xp:text escape="true" id="computedField2" value="#{sessionScope.number}"> 
     </xp:text> 
     <br></br> 
     <br></br> 
     <xp:button value="Label" id="button1"> 
      <xp:eventHandler event="onclick" submit="true" 
       refreshMode="partial" refreshId="pnl1" execMode="partial" 
       execId="pnl1"> 
       <xp:this.action><![CDATA[#{javascript:var t = sessionScope.number + 1; 
sessionScope.number = t;}]]></xp:this.action> 
      </xp:eventHandler> 
     </xp:button> 
    </xp:panel> 

</xp:view> 

Knutのリンクを読み、これを動作させました。私はボタンのイベントハンドラを変更し、それが機能しました。ここでは、コードは次のとおりです。

  <xp:eventHandler event="onclick" submit="true" 
       refreshMode="partial" refreshId="pnl1" execMode="partial" 
       execId="pnl1"> 
       <xp:this.action><![CDATA[#{javascript:var t = sessionScope.number + 1; 
sessionScope.number = t;}]]></xp:this.action> 
       <xp:this.onComplete><![CDATA[XSP.partialRefreshPost("#{id:computedField1}");]]></xp:this.onComplete> 
      </xp:eventHandler> 
+0

使用XSP.partialRefreshPost:http://avatar.red-pill.mobi/tim/blog.nsf/d6plinks/TTRY- 84B6VP –

+0

私はそれを読んだが、それを理解できなかった。慎重にもう一度それを読んで、今私はそれを得る。私は他人の利益のために上記のコードを更新しています。これを回答として投稿し、私はあなたに信用を与えるでしょう。ありがとう! –

答えて

関連する問題