2017-12-26 11 views
0

プロジェクトでOrbeon Formsバージョン2016.3を使用しています。 現在、画像の次の例に示すように、質問の構造を実装する必要があります。 enter image description here これらのインデントされた追加のラジオボタンは、インデントの最初の行の2番目のオプションボタンが選択されている場合にのみ表示されます。そうでなければ、他の選択では消滅するはずです。orbeonフォームの質問のネスト

この動作のロジックを作成する方法はすでにわかっていますが、これらのラジオボタンを表示してネストするときは、良い解決策を見つけられず、ひどくCSSでスタイリングすることはできませんでした。切り替え選択)。

Orbeonには、特定の選択肢に表示されるべき質問をネストするためのトリックはありますか?

+0

Jovanaは、あなたがフォームビルダで作成しているフォームのために、このです、または手作業でXFormsを書いていますか? Form Builderを使用すると、ちょっと複雑になることがあり、[カスタムモデルロジック](https://doc.orbeon.com/form-runner/advanced/custom.html)を追加する必要がありますが、それは実行可能でなければなりません。これが本当にあなたがいる状況であるかどうか私に知らせてください。私はあなたのために何かを試作しようとすることができます。 – avernet

+0

こんにちは、お返事ありがとうございます。もしあなたがこれで私を助けることができれば、私にはたくさんの意味があります。 Form Builderを使用していますが、XFormに必要なコードを直接追加することは問題にはなりません。私は単純なテストケースを書くべきですか? –

+0

Jovana、Form Builderを使用していることを確認していただきありがとうございます。テストケースの必要はありません。私は、あなたの説明に基づいてあなたが好きなものについてかなり良いアイデアを持っています。私は今日オフィスから外れるだろうが、私が戻って来て、ここでフォローアップするときに何かのプロトタイプをしようとするだろう。 – avernet

答えて

1

これを説明するために、Orbeon Forms 2017.2で実行できるprototype formを作成しました。考えはかなりシンプルです:

  • ネストされたラジオは、対応するトップラジオが選択されている場合にのみ表示されます。これは、フォームビルダーで可視性の式で行われます。
  • トップの無線が1つ選択されている場合は、他の無線がリセットされます。これは、以下で説明するようにcustom modelで行われます。

であなたのproperties-local.xmlからカスタムモデルへのあなたの参照:

<property 
    as="xs:anyURI" 
    name="oxf.fr.detail.model.custom.*.*" 
    value="oxf:/forms/resources/my-model.xml"/> 

としてWEB-INF/resources/forms/resources/my-model.xmlを追加します。

<xf:model xmlns:xf="http://www.w3.org/2002/xforms"> 
    <xf:action event="xforms-select" observer="top-1-control top-2-control"> 
     <xf:setvalue iterate="instance()/section-1/(top-1, top-2)" ref="."/> 
    </xf:action> 
</xf:model> 
関連する問題