Две вещи:
Сначала убедитесь, что метод, используемый для инициализации вашего объекта, называется init()
(не initialize()
).Это потому, что сантехника, которая вводится при вызове ORBEON.xforms.XBL.declareClass()
, гарантирует, что каждый раз, когда вы вызываете instance()
, если экземпляр для текущего компонента не может быть найден, он создается, и init()
вызывается для этогообъект.Это также гарантирует, что init()
вызывается только один раз.
Во-вторых, добавьте xxforms-iteration-moved
в дополнение к xforms-enabled
к событиям, которые инициируют инициализацию объекта XBL:
<xxforms:script ev:event="xforms-enabled xxforms-iteration-moved" ev:target="#observer">
YAHOO.xbl.fr.InputCounted.instance(this).init();
</xxforms:script>
С этими двумя изменениями, как я вижу, компонент, кажется, правильно инициализирован (я получаю 0/10 в каждой строке после текстового поля).