2012-01-05 8 views
1

値が fr-form-instanceに変更された場合、要素(またはID)の値と名前を取得しますか?私は "fr-form-modal"でフォローイングを追加しました:イベントxxforms-value-changedで値を取得する方法は?

<xforms:model id="fr-form-model"> 

        ... 
        ... 

    <xforms:action ev:event="xxforms-value-changed" ev:observer="fr-form-instance"> 
      <xxforms:variable name="changed-value" select="."/>//doesn't work 
      //get name(or id) if possible 
    </xforms:action> 

        ... 
        ... 

</xforms:model> 

変数$ changed-valueは空です。これを達成する方法はありますか?

答えて

5

xxforms-value-changedイベントは、有用なイベントコンテキスト情報を提供していないようです。物事が進むにつれて、このイベントでは、変更のあった要素や属性を取得することはできません。私はこれをサポートするためにcommitted a changeを持っています。

一方、外部の<xforms:group>など、UIのxforms-value-changedイベントを聞くことができます。これは、コントロールがバインドされているノードで機能します。

2

エブロチェスは、身体に<xforms:group>を使用してイベントを観察できると述べています。以下のサンプルが動作します。

<xhtml:html> 
    <xforms:model> 
     .. 
     .. 
     .. 

     <xforms:action ev:observer="all-fields" ev:event="xforms-value-changed"> //you can list as many events as you wish to observe for the fields inside "all-fields" group. 
      <xforms:message level="modal" value="event('xxforms:binding')" /> //This will show you the value which has got changed. 
     </xforms:action> 


    </xforms:model> 

    <xhtml:body> 
     <xforms:group id="all-fields"> 
      ... 
      ... 
      ... 

     </xforms:group> 
    </xhtml:body> 
</xhtml:html> 

参考:http://wiki.orbeon.com/forms/doc/developer-guide/xforms-events

関連する問題