【问题标题】:In Orbeon Forms, why is focus set to the first Input Field instead of the first field?在 Orbeon 表单中,为什么焦点设置到第一个输入字段而不是第一个字段?
【发布时间】:2014-10-10 16:22:41
【问题描述】:

在 Orbeon Forms 4.7 中,我有一个表单,其中前两个字段都是必需的。它们是:

  1. 下拉菜单
  2. 输入字段

当我在 Form Runner 中运行表单时,焦点设置为输入字段。换句话说,光标在该字段中。下拉列表是第一个字段,因此我从中选择一个值。由于输入字段现在失去焦点,验证会立即显示错误,因为输入字段缺少值。

所以验证告诉用户他们做错了什么,而他们所做的只是首先回答第一个问题。这看起来很糟糕,而且似乎是不正确的行为。

如果我可以禁用此即时验证,这对我来说可能不是问题。我对此还有另一个问题:

https://stackoverflow.com/questions/26289498/in-orbeon-forms-is-it-possible-to-disable-instant-validation-but-still-validate

【问题讨论】:

    标签: forms validation constraints orbeon


    【解决方案1】:

    好点子。我认为在 OS X 上,默认情况下,下拉菜单不可聚焦,除非在“全键盘访问”的首选项中选择了“所有控件”。因此,Orbeon Forms 不想将焦点设置在有时浏览器无法设置焦点的控件上。但是:

    • 这可能是个坏主意,您描述的用例支持这一点。
    • OS X 中的默认设置是“仅限文本框和列表”(突出显示我的)。这不包括按钮,但包括下拉菜单。

    因此,我认为 Orbeon Forms 在将焦点设置在第一个控件上时考虑的“可聚焦控件”列表中包含选择控件(除了文本字段和文本区域)会更好。我创建了issue #1958 来解决这个问题。

    【讨论】:

    • 谢谢,avernet。另一个有用的选项是允许配置表单,以便根本不将焦点设置到任何字段。这也可以解决这个问题,因为大多数用户无论如何都会点击下拉菜单。此外,如果表单中首先出现另一种类型的无法聚焦的控件,它将提供一种解决方法。
    • @awilkinson 真;我们会考虑的。
    • @avernet - 因为我们使用的是旧版本的 Orbeon,所以我们可以应用任何快速修复来在第一个控件上设置自动对焦(使用 js/javascript/css)。
    • @U2Answer 我想你可以编写自定义 JavaScript 来设置焦点,以“覆盖”控件 Orbeon Forms 设置焦点的方式。但我可以看到这很快就会变得棘手,所以我确信这确实是一个值得考虑的解决方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多