我使用 Orbeon表单 - 自动填充组件并调用外部服务,根据用户输入的内容向我提供建议列表。
我的要求是让用户保留他已输入的内容,即使服务无法找到合适的匹配项。
但是,我遇到的问题是,当我移动到另一个字段时(或者当我只是单击进入和退出自动完成字段时)会调用该服务,并且它返回空字符串或 null 自动填充为自动填充字段值(空白)。
你知道我该如何解决这个问题?由于Orbeon自动完成被渲染为多个字段,我不确定JS逻辑是如何支持它的。
谢谢, Lazar的
[更新 - 解决方法] 检查对@avernet的回复答案 - 解决方法:替换现有(外部)服务调用,其中一个转到我的后端控制器,后者执行原来的外部调用使用用户提供的搜索参数进行服务。如果控制器收到空白值作为建议(意味着没有匹配),则会创建一个空的XML结构,这是自动完成所需的结构,但是使用搜索参数,用户已输入值。
答案 0 :(得分:0)
此用例未被自动完成控件覆盖。您可以将自动完成视为选择控件,例如下拉列表,但仅限于可能值列表太长而无法按原样显示的情况,或者甚至按原样在浏览器中加载,因此您需要只显示部分内容,基于"搜索"用户正在做。
您正在寻找的内容似乎是支持selection="open"
的自动填充功能。即使这并不是您正在寻找的,我们已经实施了open selection for radio boxes,并且正准备在4.11中发布此内容。