Orbeon 自动完成 - 保留用户输入的内容(即使与建议不匹配)

Orbeon autocomplete - keep what user entered (even if not matched to suggestions)

我正在使用 Orbeon 表单 - 自动完成 组件并调用外部服务根据用户输入的内容为我提供建议列表。

我的要求是使用户能够保留他已经输入的内容,即使服务找不到合适的匹配项。

但是,我有一个问题,当我移动到另一个字段时(或者当我简单地单击进出自动完成字段时),当前服务被调用,它 returns 我 空字符串null 自动填充为自动完成字段值(空白)。

你知道我该如何解决这个问题吗?由于 Orbeon 自动完成被呈现为多个字段,我不确定它背后的 JS 逻辑如何。

谢谢, 拉扎尔

[更新解决方法] 检查对@avernet 答案的回复 - 解决方法:替换现有(外部)服务调用,其中一个转到我的后端控制器,它执行使用用户提供的搜索参数调用原始的外部服务。如果控制器收到返回空白值作为建议(暗示没有匹配项),它会创建一个空的 XML 结构,这是自动完成所期望的结构,但用户输入的搜索参数作为值。

此用例未包含在自动完成控件中。您可以将自动完成视为一个选择控件,比如下拉列表,但仅适用于可能值列表太长而无法按原样显示,甚至无法按原样加载到浏览器中的情况,因此您需要仅显示一部分,基于 "search" 用户正在做的事情。

您要查找的似乎是支持 selection="open" 的自动完成功能。即使这不是您要找的东西,我们已经实现了 open selection for radio boxes,并计划在 4.11 中发布它。