1

私はXFormsにまったく慣れていないので、我慢してください。次のことができるかどうか知りたいのですが:

HTMLフォームがあります

<form>
    <input type="text" name="search-string"/>
    <input type="checkbox" name="search1" checked="checked" />Search option 1
    <input type="checkbox" name="search2" checked="checked" />Search option 2
    <input type="submit" />
</form>

これをXFormsで表現し、送信時に次のようなXML要素に変換したいと思います。

<data>
    <search1>my search string</search1>
    <search2>my search string</search2>
</data>

search1and要素はsearch2、対応するチェックボックスが設定されている場合にのみ設定する必要があり、両方に入力からの文字列がsearch-string入力されます。

要素が構築されたらdata、POSThttpリクエストを介して要素を送信する必要があります。

これはすべてXFormsだけを使用して実行できますか、それともJSなどを使用する必要がありますか?

PS:違いがあれば、XSLTFormsを使用しています。

4

1 に答える 1

2

はい、これは追加のJavascript命令なしでXFormsを使用して実行できます。2つのインスタンスが必要です。1つは送信するためのもので、もう1つは最初のインスタンスを埋めるために使用するためのものです。

これは、モデルパーツでは次のようになります。

<xf:model>
  <xf:instance id="data">
    <data xmlns="">
      <search1/>
      <search2/>
    </data>
  </xf:instance>
  <xf:instance id="work">
    <work xmlns="">
      <b1 xsi:type="boolean"/>
      <b2 xsi:type="boolean"/>
      <search/>
    </work>
  </xf:instance>
  <xf:bind nodeset="instance('data')/search1" calculate="choose(instance('work')/b1,instance('work')/search,'')"/>
  <xf:bind nodeset="instance('data')/search2" calculate="choose(instance('work')/b2,instance('work')/search,'')"/>
  <xf:submission ref="instance('data') method="post" resource=".........."/>
</xf:model>

-アラン

于 2012-11-25T21:37:47.253 に答える