【问题标题】:Send XML element as HTTP header using XForms使用 XForms 将 XML 元素作为 HTTP 标头发送
【发布时间】:2012-11-13 06:53:14
【问题描述】:

我对 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>

search1search2 元素只有在设置了相应的复选框时才应设置,并且它们都使用来自 search-string 输入的字符串填充。

data 元素构建完成后,我需要通过 POST http 请求发送它。

这一切都可以仅使用 XForms 来完成吗,还是我需要使用 JS 之类的?

PS:如果有什么不同,我正在使用 XSLTForms。

【问题讨论】:

    标签: xforms xsltforms


    【解决方案1】:

    是的,这可以通过 XForms 完成,无需额外的 Javascript 指令。您需要两个实例:一个用于提交,另一个用于填充第一个。

    模型部分应该是这样的:

    <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-01-09
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 2014-06-12
      • 2017-10-31
      • 2014-09-25
      • 2015-12-30
      相关资源
      最近更新 更多