は、私は、ユーザーがspan要素をクリックするとjQueryから現在のXMLインスタンスを更新する際にJavaScriptでいくつかのロジックを実行したいです:OrbeonのXFormsでは、jQueryを使用してXMLインスタンスを更新する方法は?</p> <p>(!私はオンライン2と同様の質問を見てきましたが、それらは決して答えないGOT)</p> <p>の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);
});
私は(Firebugのを)Orbeonのポスティングデータを見ることができますが、XMLインスタンス更新されません(入力が同じ "ref"属性を共有していても、出力は更新されません)。
おかげさまで、#changeVatTotalを試してみましたが、 同じ問題が再び発生しました。 入力が出力を変更しないようです(異常な動作 - 同じ「ref」attrを共有しています)。 JQueryと関係があると思いますか? 本当にイライラするのを助けようとしてくれてありがとう、すでに良いものをいくつか過ごした...! – alchemication
実際、私はJQueryに接続されている可能性があります。たとえば、JQueryに依存しないxforms-readyイベントのORB要素(xf:input要素)にORBEON.xforms.Document.setValue()を発行してテストできます。ところで:setvalueをトリガするのと同じ入力要素を更新しようとしますか? setvalue()ターゲットとして他の入力要素(隠されたものも含む)を使用すると、何か変更されますか? – tohuwawohu
** 1 **入力に0.01を追加するには、** "+" **ボタン(その最初のxhtmlスパン)を押しています(同じ "ref"を持つように出力を更新する必要があります) -** 2。** JQueryで別のIDを使用して更新する場合: ORBEON.xforms.Document.setValue( 'invoiceDate'、currValue); ' - それは動作し、#invoiceDate入力:テキストは新しい値を取得します。 これはあなたの質問に答えますか? – alchemication