2

我正在对表单进行单元测试,发现 Orbeon 提供的自动选项卡索引存在一些严重问题。

在我的情况下,我需要以下标签索引 1-7,如图中的数字所示。

模型:

<xforms:model>
    <xforms:instance id="dropdown-values">
        <form>
           <yes-no>
             <options>Yes</options>
             <options>No</options>
          </yes-no>
       </form>
    </xforms:instance>
</xforms:model>

以形式创建收音机的逻辑:

<xforms:itemset nodeset="instance('dropdown-values')/yes-no/options">
    <xforms:label ref="." />
    <xforms:value ref="." />
</xforms:itemset>

http://i.stack.imgur.com/9QvKq.jpg

上面的例子有一个功能,比如在“启用文本”选项中选择“否”时,以下文本框被禁用。目前 Orbeon 提供默认的 tabindex 并从选定的单选按钮切换到下一个字段。IE:

  • 如果收音机选择为“否”,则使用选项卡的导航将为 2->6 并重复
  • 如果收音机选择为“是”,则使用选项卡的导航将是 1->3->4->5->7 并重复

但预期的功能是:

  • 如果收音机选择为“否”,则使用选项卡的导航将是 1->2->5->6 然后重复。
  • 如果收音机选择为“是”,则使用选项卡的导航将为 1->2->3->4->5->6->7
4

2 回答 2

1

XFormsnavindex为此提供了属性,在第 8.1 节,XForms 核心表单控件模块中定义:

...一个 0-32767 范围内的非负整数,用于定义导航序列。这使作者可以控制遍历表单控件的顺序。

在第 4.3.6 节,xforms-next 和 xforms-previous 事件中还进一步讨论了与navindex导航相关的一些细节。

于 2011-03-17T20:02:08.107 回答
1

如果我很好理解这一点,您希望按控件在页面中的顺序完成选项卡。问题是,当您通过单选按钮进行选项卡时:

  • 您观察到“光标”随后转到每个单选按钮。
  • 您希望它进入下一个字段。

我不确定您使用的是什么浏览器,当我尝试此操作时,如果始终选择单选按钮,则光标不会穿过所有单选按钮,而只会穿过您选择的单选按钮。也就是说,我得到的是“你想要的”,而不是“你观察到的”行为。我用 Firefox 4 和 IE 7 对此进行了测试。

顺便说一句,这种行为与 XForms 无关;这就是标签如何通过 HTML 控件工作。

Firefox 4 上的选项卡

于 2011-03-29T02:38:49.740 回答