Orbeon バージョン: Orbeon Forms 3.8.0.201005270113
Javascript ファイルに次のコードがあります。このコードは実行されますが、XBL 内のモデルが見つからないようです。
ORBEON.xforms.Document.dispatchEvent("model-name", "event-name");
これが XBL のモデルです。XBL にはいくつかのモデルがあります。メッセージが表示されないので、モデルが見つからないようです。ログにエラーはありません。
<xforms:model id="model-name" xxforms:external-events="event-name">
<xforms:action ev:event="event-name">
<xforms:message>Test</xforms:message>
</xforms:action>
</xforms:model>
Javascript から XBL にディスパッチを機能させるためのトリックがあるかどうかは誰にもわかりませんか?
どうもありがとう!
更新しました:
もう 1 つの問題 (おそらく?) は、instance(this) を使用して XBL から JavaScript を呼び出すことが機能しないことです。クラスのインスタンスがコンポーネント インスタンスに関連付けられていないため、モデルが見つからないのだろうか?
init メソッドを呼び出さないxbl からの JavaScript への呼び出しは次のとおりです。
<xxforms:script>YAHOO.xbl.fr.myTest.instance(this).init();</xxforms:script>
init() メソッドを呼び出す呼び出しは次のとおりです。
<xxforms:script>YAHOO.xbl.fr.myTest.prototype.init();</xxforms:script>
これがJavaScriptです:
YAHOO.namespace("xbl.fr");
YAHOO.xbl.fr.myTest = function() {};
ORBEON.xforms.XBL.declareClass(YAHOO.xbl.fr.myTest, "xbl-fr-myTest");
YAHOO.xbl.fr.myTest.prototype = {
},
init: function() {
alert('test');
},
valueChanged: function() {
},
};