XForms输入中的默认值

时间:2009-11-13 18:33:14

标签: input default xforms

我有一个XForm,其某些字段通常可以留空(可选的街道地址)。是否存在为该字段设置默认值的技术,最好是空格(我遇到了奇怪的CSS格式问题)。 value=""的html表单方式不起作用,也没有在XML模式中设置默认值。

实施例

<xforms:input ref="clientaddress/streetaddress2" model="model_inventory" >
        <xforms:label>Street Address (Line 2)</xforms:label>

将此字段留空会导致生成的xml文档中出现<streetaddress2/>

我想要

<streetaddress> </streetaddress>

2 个答案:

答案 0 :(得分:1)

您是说您想要将实例中所有字段的值设置为空白?假设您有一个静态实例,可以将以下内容添加到模型中:

<xforms:setvalue ev:event="xforms-model-construct-done" 
    xxforms:iterate="//*[empty(*) and string() = '']" ref="."> </xforms:setvalue>

请注意,这会使用Orbeon Forms的xxforms:iterate扩展名(documented here)。如果您正在使用其他XForms实现,您可能需要检查该实现的文档以查看它们是否提供类似的扩展。

(这就是说,我很好奇为什么你需要在“空”字段中留一个空格。这可能是其他地方出现问题的迹象吗?)

答案 1 :(得分:0)

在XForms中设置默认值的最简单方法是实例:

<xforms:instance>
  <data>
    <clientaddress>
      <streetaddress> </streetaddress>
    </clientaddress>
  </data>
</xforms:instance>

你说,你试图在架构中设置默认值,但我不确定它是否按预期工作。模式可以用于验证,但我不知道任何XForms引擎是否使用模式的默认值。