Версия 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?
Большое спасибо!
ОБНОВЛЕНИЕ:
Другая проблема, которая может быть проблемой (может быть?), Заключается в том, что вызов javascript из XBL с использованием экземпляра (это) не работает. Интересно, не привязан ли экземпляр класса к экземпляру компонента, поэтому он не может найти модель?
Вот вызов javascript из xbl, который не вызывает метод init:
<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() {
},
};