当用户单击 span 元素并从 jQuery 更新当前 XML 实例时,我想在 JavaScript 中执行一些逻辑:
(我在网上看到了 2 个类似的问题,但他们从未得到回答!)
XForms:
<xhtml:span class="buttonPlusOne" id="plusVat">+</xhtml:span>
<xf:output ref="instance('submitted_instance')/TotVATAmnt"></xf:output>
<xf:input id="changeVatTotal" ref="instance('submitted_instance')/TotVATAmnt"></xf:input>
JavaScript:
$('span.buttonPlusOne').on('click', function () {
// do some logic and increment value for 0.01
orbeonElId = $(this).siblings('#changeVatTotal').children('input').attr('id');
// alert(orbeonElId) produces right id (changeVatTotal$xforms-input-1)
// alert(newValue) produces 0.02 (for example)
ORBEON.xforms.Document.setValue(orbeonElId, newValue);
});
我可以看到 Orbeon 发布数据(Firebug),但 XML 实例没有得到更新(输入没有更新输出——即使它们共享相同的“ref”属性)。