ユーザーがスパン要素をクリックし、jQuery から現在の XML インスタンスを更新するときに、JavaScript でいくつかのロジックを実行したいと考えています。
(オンラインで同様の質問を 2 つ見たことがありますが、回答がありませんでした!)
Xフォーム:
<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" 属性を共有していても、入力は出力を更新しません)。