2012-02-21 68 views
2

我使用由Orbeon表單生成器創建的部分模板,該模板包含在另一個也由Form Builder創建的表單中。在這種形式下,我們使剖面模板不可見,它從窗體實例中消失。爲什麼缺少不相關的部分模板的元素?

是否有可能使部分模板不可見而不會在表單實例中丟失它?

+0

這聽起來像是一個錯誤,我會盡力重現和調查明天,並在此發佈後續行動。 – avernet 2012-02-22 05:57:47

+0

預先感謝您 – trin86 2012-02-22 07:29:12

回答

1

對於每個部分模板,表單生成器都會生成一個XBL組件,該組件包裝該部分中的字段。在使用與節模板相對應的XBL的表單中,在該實例的XML中,整個節只有一個元素,並且XBL組件綁定到該元素。 XBL組件「知道」節中字段的XML是什麼,並且在運行時,它變得相關時,它將它們插入該節的元素中。因此,如果該部分永不相關,那麼這些字段將從實例中丟失。

此行爲與常規節發生的不一致,但它不應該導致任何特定的問題Form Runner。比方說,如果你保存沒有這些字段的數據,稍後再編輯它,並且該部分變得相關,那麼XBL組件將把這些元素添加到實例中。出於這個原因,我們創建了這個issue

+0

經過多次測試後,我發現當表單部分在表單加載時可見並且在運行時隱藏時沒有問題。僅當該部分在表單加載時不可見 – trin86 2012-02-27 13:13:41

+1

準確地:該部分第一次變得相關時,元素將被添加到實例中。因此,如果該部分在加載表單時相關,那麼元素將在實例中出現。 – avernet 2012-02-27 18:08:34

+0

是否計劃將隱藏(或不相關)元素也添加到實例中?因爲作爲用戶,我會期待這種行爲。 – Ben 2014-11-27 14:32:43

1

我不上表單生成器的工作,但你可以使用

  1. <xforms:group>
  2. 在綁定定義中使用relevant條件讓看不見的部分/場。

如果您使用<xforms:group>那麼該部分/字段將不會從模型實例中刪除。

如果使用相關條件,那麼當相關條件爲假時,該部分將從模型實例中刪除。

+0

我確認你說過關於使用相關內容。所以我嘗試從部分模板中的組件xforms:組像這樣,但它的工作原理與if我使用相關的條件 – trin86 2012-02-24 12:45:31